web-dev-qa-db-ja.com

DBCC CHECKDBの代替

データベースの1つでDBCC CHECKDBを実行していますが、非常に長い時間がかかります。質問があります。手伝ってください。

データベースの整合性をチェックできる代替手段はありますか?

完了するのを待つべきですか?

4
kyle anwal

一貫性チェック(DBCC CHECKDB)は、破損やデータ損失の可能性にデータをオープンにしておくことです。

CHECKDBがシステムに与える影響を軽減する方法はいくつかあります。これを行う最善の方法は、ライブシステムのコピーでチェックをオフラインで実行することです。これは、データベースの完全バックアップを別のシステムに復元し、次にDBCC CHECKDB そこ。これには2つの理由があります。

  1. IOと、発生しているパフォーマンスの問題を別のマシンにロードします。

  2. バックアップの復元が正常にテストされます。

バックアップをテストして実行するためのセカンダリサーバーを用意する余裕がない場合DBCC CHECKDB次に、負荷を週全体に分散させるために、チェックをブレークダウンして、毎晩いくつかの個別のテーブルに対して実行する必要がある場合があります。これは、CHECKTABLEステートメントで実行できます。ジョブを小さな部分に分割する別の方法は、CHECKFILEGROUPを使用して各ファイルグループをチェックすることです。複数のファイルグループがある場合にのみ意味があります。

trace flags 2549, 2562, and 2566。トレースフラグの詳細については、上記の方法と、件名に関するAaron Bertrandの投稿をご覧ください here

9
James Anderson