現在、最新のバックアップファイルをプルし、テストデータベースに復元することで、SQLバックアップを月に1回テストしています。 SQL Serverが復元が成功したと言った場合、いくつかのテーブルをスポットチェックして、データが含まれていることを確認します。
SQL Serverがそうであると言った場合、復元が完全に成功したと想定しても安全ですか?復元されたデータ/インデックスなどが正しいことを確認する良い方法はありますか?
特にバックアップの品質が不明な場合は、復元後にDBCC CHECKDBを実行することをお勧めします。
CHECKDBは、少なくともDBに整合性エラーがあるかどうかを通知し、指定されたDB内のすべてのオブジェクトの論理的および物理的整合性をチェックします。
同様のスレッドがServerFaultにあります: https://serverfault.com/questions/187869/should-i-run-dbcc-checkdb-before-full-backups-or-after
返信ですでに誰かが言及しているように、復元後にDBCC CHECKDBを実行することは良い方法です。このように、バックアップはデータベースのコピーなので、本番データベースに影響を与えることなく、バックアップと復元の両方を検証します。
SQL Serverエージェントジョブ、メンテナンスプラン、および ApexSQL Manage を使用してデータベースの復元後にDBCC CHECKDBを自動化することにより、データベースの復元後にDBCC CHECKDBを実行または自動化する方法を説明するこの記事を確認できます。 。
データベースの復元後にDBCC CHECKDBを自動化する方法
免責事項:私はApexSQLで働いています
テーブルとインデックスのディスクサイズは、復元されたデータベースでは異なる可能性があるため、注意する必要があります(復元されたバージョンではサイズが小さくなると予想されますが、多くのことに依存します)。
私はこれが少し遅れていることを知っています。しかし、あなたは私たちのような同様のプロセスを持っているようです。ライブからバックアップをプルし、データベースをテストするために復元する必要がある場所。
プロセス全体を自動化する以下のスクリプトを確認してください。公開されたスクリプトの最後に、xml構成データがあります。それをコピーして、別の.xmlファイルに配置します。