データベース名がDB1
の非常にプレッシャーの高い本番環境を使用しています。そして、そこにあるデータベースの1つで毎週DBCC CHECKDB
プロセスを実行したいと思います。
(あなたは理解できます、私は私の実稼働環境ではできません、パフォーマンスIMPACT)。
それで、私は私のログ配送プロセスの1つを使うことを考えました。遠隔サーバー(DWHサーバー)にあるDB1
(Primary)からDB1_LS
Database(Secondary)までのログ配布プロセスがあります。
質問:
セカンダリデータベースDB1_LS
の完全バックアップを取る方法はありますか?
それを復元してDBCC CHECKDB
を実行できるようにしたい(COPY-ONLY BACKUP
?)
データベースがスタンバイ/読み取り専用モードの場合、データベースのネイティブバックアップを作成できないと思います。
したがって、セカンダリデータベースのバックアップは適切ではありません。
また、LS DBが「読み取り専用モード」の場合は、DBCC CHECKDBを実行できますが、これは完了しますが、ブートページに到達しないため、期待どおりのチェックが行われません。さらに、エラーが報告または検出されても、DBCC CHECKを使用して修復ステートメントを実行することはできません。
実行できることは、バックアップを復元するための適切なリソースを備えた別のテスト/開発マシンに、ネットワークを介してオフピーク時にDB1のバックアップを取ることです。
復元されたバックアップから、復元されたデータベースでDBCC CHECKDBを実行できます。
また、Aaronによるこの優れた記事を読んでください DBCC CHECKDBの影響を最小限に抑える:すべきこととすべきでないこと それに関するベストプラクティスについて。