データベースの1つでDBCC CHECKDBを実行していますが、非常に長い時間がかかります。質問があります。手伝ってください。
データベースの整合性をチェックできる代替手段はありますか?
完了するのを待つべきですか?
一貫性チェック(DBCC CHECKDB
)は、破損やデータ損失の可能性にデータをオープンにしておくことです。
CHECKDB
がシステムに与える影響を軽減する方法はいくつかあります。これを行う最善の方法は、ライブシステムのコピーでチェックをオフラインで実行することです。これは、データベースの完全バックアップを別のシステムに復元し、次にDBCC CHECKDB
そこ。これには2つの理由があります。
IOと、発生しているパフォーマンスの問題を別のマシンにロードします。
バックアップの復元が正常にテストされます。
バックアップをテストして実行するためのセカンダリサーバーを用意する余裕がない場合DBCC CHECKDB
次に、負荷を週全体に分散させるために、チェックをブレークダウンして、毎晩いくつかの個別のテーブルに対して実行する必要がある場合があります。これは、CHECKTABLE
ステートメントで実行できます。ジョブを小さな部分に分割する別の方法は、CHECKFILEGROUP
を使用して各ファイルグループをチェックすることです。複数のファイルグループがある場合にのみ意味があります。
trace flags 2549, 2562, and 2566
。トレースフラグの詳細については、上記の方法と、件名に関するAaron Bertrandの投稿をご覧ください here