何らかの理由で、SQL データベース ファイルが爆発して 88 GB を超えましたが、その理由がわかりません。大きなテーブルを検索するためにいくつかのスクリプトを実行しましたが、大きすぎるものは何も見つかりませんでした。また、データベースの縮小(何もしませんでした)とファイルの縮小(エラーを返します)を実行しようとしました。
他に何ができるか考えている人はいますか?
ありがとう。
最初に確認すること (テーブルとインデックスのサイズを既に確認しても大きな違いがある場合) は、ファイルのプロパティです。
SQL Server Management Studio で、オブジェクト エクスプローラーに移動し、問題のデータベースを右クリックして [プロパティ] を実行し、[ファイル] タブに移動します。
どんなファイルがありますか? それらの設定、特に「自動拡張」設定は何ですか?? データ ファイルがいっぱいになりそうになると、SQL Server はそれらの設定で定義された方法でデータ ファイルを拡張します。50 GB をファイルに追加する必要があると定義し、ディスク領域が利用可能であれば、SQL Server は喜んでそれを実行します。そのため、数百バイトの余分なバイトが必要な場合でも。
MDF (データ ファイル) ですか、それとも LDF (ログ ファイル) ですか?
完全復旧モデルで実行している場合は、ログ ファイルをバックアップするまで (その時点で空になります)、ログ ファイルがどんどん大きくなる可能性があります。
それ以外の場合は、次の方法でスペースを取っているものを探してみてください。
select *
from sys.allocation_units;
また、データベース ファイルに空き領域がある可能性があることに注意してください。[ファイルの圧縮] ダイアログに、空き容量のパーセンテージが表示されます。