問題の説明-既存のバックアップを使用してSQLServer2012でDRサイトを構成したいと思います。
バックアップシナリオは以下のとおりです。 FULL –毎週日曜日、DIFF –日曜日を除く毎日、LOG –15分ごと
今、私はログシッピングを使用することに興味がある私のプロダクションのためのDRサイトが欲しいです。ただし、ログ配布の問題は、最初に完全バックアップを復元してから、トランザクションログを定期的にセカンダリサーバーに送信することです。
ただし、現在のシナリオのように、これを使用すると、すべてのFULLまたはDIFFバックアップの後に、セカンダリサーバーでの現在のバックアップに関してLSNが変更されるため、ログ配布が中断します。
それで、既存のバックアップを使用してログ配布を構成する方法はありますか、または誰かが私たちを助けるカスタムプロシージャまたはスクリプトを持っていますか?
私はあなたの問題を理解していません。フルバックアップと差分バックアップを実行している間は、間違いなくログシップを記録できます。手動で実行したバージョンのログ配布を実行しようとしていますか?フルバックアップまたは差分バックアップを実行しても問題は発生しません。ログ配布ではログバックアップのみが使用されるため、チェーンが切断されることはありません。
あなたは実際にこれを試しましたか、あなたの質問からあなたはただ考えるそれは壊れると思われます。
FULL、場合によってはDIFFを復元してから、トランザクションログチェーンを復元することにより、ログ配布を開始します。 Log Shippingがセットアップされた後、LOGバックアップを実行し、それらをDRサーバーにコピーしてから、DRサーバーに復元します。使用するのはLOGバックアップだけです。ログ配布には完全バックアップも含まれていますが、それらはDRサーバーに送信されません。独自のFULLとDIFFを持つことができ、それらはログ配布に影響を与えません。手動でDRサーバーに適用しない限り、ログチェーンが切断されるため、独自のLOGバックアップを実行しないでください。
Log ShippingLOGのバックアップ頻度を5分ごとまたは1分ごとに増やすことをお勧めします。これは、DRサイトをより最新の状態に保つのに役立ち、運用サーバー上でより多くのリカバリポイントを提供します。
主なステップは初期化です。本番環境の完全バックアップまたは差分バックアップ、あるいはその両方を作成し、そのバックアップを使用してDRで復元してから、ログ配布をまったく問題なくセットアップできます。初期化段階では、ProductionとDRのLSNが同じである必要があることに注意する必要があります。
ログチェーンを壊すには、次のようにする必要があります。
-正常ではなかったバックアップでDRを復元する
-ログファイルが復元される前にコピーから削除されました
-DRデータベースをオンラインにすることで連鎖を断ち切る
Taraが提案したように、バックアップ、コピー、および復元には5分のジョブをお勧めします。復元のしきい値は、3つのジョブの頻度の3倍に設定する必要があることに注意してください(これにより、多くの頭痛の種からあなたを救うことができます)。
以下は、デバッグに役立つコードです。
--Log Sequence Numbers and Restore Planning
--For restore planning, the most important log sequence numbers (LSNs) are first and last LSNs.
--These LSNs can be obtained from the following locations:
-- --The backupset table in msdb. The columns are named first_lsn and last_lsn.
-- --The RESTORE HEADERONLY statement. The columns are named FirstLSN and LastLSN.
Select *
from msdb.dbo.backupset