私は8つのデータファイルを持つ2TB + SAPデータベースを持っています、最初のファイルは私たちのHP EVA5000上の利用可能なディスク容量を埋めるように成長し、そして今や新しいファイルになりました。 SQL Server 2000から2005年にSQLをアップグレードし、CheckDBは異なる動作で動作し、スナップショットを作成するためのスペースなしで失敗します。新しいI/Oサブシステムを把握している間、TEMPORARY測度として各ファイルに50GBを追加しました。質問は次のとおりです。どのようにスナップショット使用量を監視できますか? CheckDBが今すぐ開始されたらどうなります。そしてあなたがスペースを使い果たしているのを見るのを見るなら、checkdbをキャンセルできますか?
Ooh私はちょうどこの昨夜のSQL Server 2008 Internals Book(Paul Randalありがとう)を読んでいます。スペースがなくなると、スナップショットが削除されます。私がSQL 2005以降にあることを意味するのは、内部エンジンは実際にシーンの後ろにスナップショットを作成し、それに対してcheckdbを実行しています。このスナップショットにアクセスできませんが、あなたの目に見えないがファイルシステム上のスペースを占有することはできません。このシステムスナップショットを作成するのに十分なスペースがない場合は、エラーをスローしてそのスナップショットをロールバックします。
あなたができることは、十分なスペースを持つ別のボリューム上のデータベースのスナップショットを手動で作成し、それに対してcheckdbを実行します。スナップショットは単にベースデータに対するページ変更の違いのコレクションのコレクションであるため、結果は有効であるはずです。私はポールがこれより極めて答えることができたと確信していますが、これはその基本的な要旨です。
また、実行中のCheckDBクエリをキャンセルできます。
あなたの質問に答えるPaul's Blogのこの記事を見てください: