web-dev-qa-db-ja.com

大きなDBファイルの縮小が機能しない

私は5 TBデータベースファイル(理由は尋ねないでください)をクリーンアップしています。既にTBを解放できたので、おそらく2.5 TBになります。

ベストプラクティスのアドバイスはさておき、このファイルを圧縮する必要があります。私は現在このステートメントを実行しています:

DBCC SHRINKFILE(1,4000000)

ときどきpageiolatch_shとpageiolatch_exを待っているため、何かが実行されていることがわかります。ただし、24時間の実行時間後、データベースは1ページだけ縮小していません。通常、上記のようにファイル圧縮を実行すると、すぐにファイルサイズへの影響を確認できます。以前は、データベースを1 GBだけ縮小しようとしましたが、ファイルサイズがまったく変化しませんでした。 24時間後に止めました。

この問題はしばらく続いていますが、他のデータベースにドライブ領域が緊急に必要とされているため、前進する必要がある段階にあります。

ところで、DBCC CHECKDBはそのデータベースの問題を検出しないため、この動作は循環ページリンケージによって引き起こされることはありません。

4
Sebastian Meine

私の同僚は、長期的な縮小という同様の問題を抱えていました。彼はそれを調査するのに少し時間をかけ、ファイルの「終わり」にたくさんのインデックスがあることに気付きました。

インデックスのメンテナンスを少し行った後、縮小操作は正常に実行されました。あなたはそれについて彼のブログをここで読むことができます: http://sqltrees.wordpress.com/2013/08/11/shrinking-databases/

1
Kev Riley