web-dev-qa-db-ja.com

セカンダリ非同期レプリカのDBCC CheckDb

営業時間中に読み取り可能なセカンダリ非同期レプリカ(DR)で Ola HallengrenのCheckDBジョブ を実行できますか?現在、非同期レプリカは読み取れません...

  • 最初の質問はそれが可能かどうかです。
  • 第二に、それは安全ですか?

稼働中のプライマリサーバーがあり、セカンダリサーバーで営業時間内/営業時間外にCheckDBを実行しています。

3
SQL_NoExpert

この方法はほとんど意味がないため、安全ではありません。これは、DBCC CHECKDBおよびSQL Serverストレージサブシステムの作成者/アーキテクトであるP. Randalの引用です。

データベースの継続的に更新されるコピーに対してDBCC CHECKDBが実行されている(たとえば、データベースミラー、SANミラー、ログ配布、または可用性グループセカンダリ)を介した)回答はすべて正しくありません。この方法2つの異なるI/Oサブシステムが関与しているため、本番システムのメインデータベースの状態については何もわかりません。これまで何度も話し合ったので、要点は説明しませんが、整合性チェックを実行する必要があります本番データベース、または復元されたバックアップ、または本番データベースをテストしていません。他に十分なものはありません。

ミラーリングされたデータベースまたはセカンダリレプリカをチェックするとき、レプリカは異なるストレージサブシステムに存在し、ネットワークを介して転送されるログレコードを適用した結果であるため、元のデータベースの実際の状態はチェックしません。詳細については、このリンクをたどってください 整合性チェックの実行方法の重要性 。また、ビデオコースやK.デラニーの本でも説明しています。

6
Alex S

営業時間中に読み取り可能なセカンダリ非同期レプリカ(DR)でOla Hallengren CheckDbジョブを実行できますか?

確かに、ルーチンがそのデータベース内のコマンドまたは履歴テーブルを更新しようとしないと想定します(読み取り専用であるため)。

...次に、ライブであるプライマリサーバーがあり、営業時間/営業時間外にセカンダリでcheckdbを実行しているため、安全な場合。

sp_BlitzErik が述べたように、それが「安全」かどうかはわかりません。これは、ディスクスペース、REDOキューサイズ、プライマリの送信キューサイズ、メモリ、現在の負荷などの要因のホストに依存します。最善の策は、それを試して、他に測定基準がないかどうかを確認することです。によって-人々が不平を言うならば、あなたはあなたの答えを持っています。ウェブサイトがダウンした場合、あなたの答えがあります。誰も言葉を言わず、すべてがうまくいく場合-あなたはあなたの答えを持っています。

8
Sean Gallardy