インデックスのメンテナンス中に、SEV 17エラーでジョブが失敗し、再構築中のオブジェクトに十分なスペースを割り当てられないことがあります。データベースは次のようにレイアウトされます。
Data_file1 PRIMARY 0 growth 0% free Max Size UNLIMITED
Data_file2 PRIMARY 0 growth 0% free Max Size UNLIMITED
Data_file3 PRIMARY 0 growth Less than 1% free Max Size UNLIMITED
Data_file4 PRIMARY 250 MB growth Less than 1% free Max Size UNLIMITED
基本的に、4つのデータファイルのうち3つがいっぱいで成長が許可されず、4つ目がいっぱいで成長が許可されています。ファイルはさまざまなLUNに分散しています(そして、その理由は面倒です)。そのため、オンラインインデックスの再構築が開始されると、追加のスペースが必要な場合、Data_file4に成長して問題ないことを理解していますが、成長が許可されておらず失敗する別のファイルに成長しようとしているようです。このエラーを再現することはできませんが、なぜこれが発生するのかについての洞察を誰かが持っているかどうか疑問に思っていました。
SQL Serverの完全バージョンは2008 R2 Enterprise、SP2 CU 4(10.50.4270)です。Ola Hallengrenの再構築スクリプトを使用しtempdb
ます。オンラインで再構築しますが、
max_size is
成長が0の場合でも、現在UNLIMITEDに設定されています。私は今、これを再現テストで調査しています。
If max_size is not specified, the file size will increase until the disk is full.
、自動成長がオフの場合、それらのファイルから割り当てようとするべきではありませんが許可されていますA value of 0 indicates that automatic growth is set to off and no additional space is allowed.
が、バグがある可能性があるため、設定されていない場合は試してみても害はありません。