私のバックアップ計画は:
すべてのデータベースのバックアップは私のコンピューターに保存されます。
データベースに誤った変更をいくつか追加しましたが、SSMSを使用してそれを特定の時点(SQL Server 2012)に復元する必要があります。
最初に、NORECOVERYを指定して最後の完全バックアップを復元し、正常に復元しました。次に、NORECOVERYを指定して最後の差分バックアップを復元しようとしたところ、次のエラーメッセージが表示されました。
LSNチェーンの切断のため、復元計画を作成できません。
お知らせ下さい。何が悪いのですか?
最近、私は同じ問題に直面しています。私はしばらくグーグルで検索しましたが、これはマイクロソフト製品の問題であることがわかりました。このエラーメッセージに従って記事を書いたので、詳細情報 there を見つけることができます。
免責事項:私は Pranas.NETのマーケティングマネージャー 、メーカーですSql Backup and FTP toolの記事で紹介されています。
したがって、この問題を解決してデータベースを特定の時点に復元するには、T-SQLコマンドを使用します。
最後の完全バックアップを復元します
RESTORE DATABASE your_database FROM DISK = 'd:/full' WITH NORECOVERY, REPLACE
最後の差分バックアップを復元する
RESTORE DATABASE your_database FROM DISK = 'd:/diff' WITH NORECOVERY
データベースを復元する必要があるときに、最後のトランザクションログバックアップポイントを復元するときに、トランザクションログバックアップを復元します。
RESTORE LOG your_database FROM DISK = 'd:/log1' WITH NORECOVERY
RESTORE LOG your_database FROM DISK = 'd:/log2' WITH STOPAT = '2016-01-05 13:29:59.000', RECOVERY
これは、SMSS GUIがスナップショットとcopy_onlyバックアップを有効であると見なし、復元できない場合が多いためです。
Hyper-V VM内でSQL Serverを実行している場合、VMバックアップは、SQLに毎晩スナップショットを作成するように指示します。同じことが他の外部バックアップソリューションにも当てはまると思います。
このクエリを実行してレコードをバックアップ履歴から非表示にして、SMSSがそれらを表示できないようにすることができます。
UPDATE msdb.dbo.backupset
SET database_name = database_name + '#' WHERE is_copy_only = 1 and database_name NOT LIKE '%#'
AND database_name NOT IN ('master', 'model', 'tempdb', 'msdb')
これをSQLエージェントジョブに設定して、hyper-vバックアップの完了後に毎晩実行するようにしました。