web-dev-qa-db-ja.com

SQL Server 2005からSQL Server 2012への差分バックアップの復元

クライアントを新しいサーバーに移行しています。古いサーバーにはSQL Server 2005がインストールされています。差分バックアップを実行しようとしましたが、LSNチェーンが壊れているというエラーを受け取りました。

私がこれを何度も行ったことに注意してください。フルバックアップはNORECOVERYを使用して新しいサーバーに復元され、差分バックアップを復元しようとすると、壊れたLSNチェーンに関するエラーが発生します。

私はテストデータベースを作成し、同じ結果を得ました。次に、テストデータベースファイルをSQL Server 2008 R2を実行しているサーバーに移動しました。バックアップは正しく復元されました。

SQL Server 2005からの差分バックアップがSQL Server 2012で正しく復元されない理由を誰かが知っていますか?そして、どうすればこれを修正できますか?

3
Payson Welch

SQL 2005からSQL 2012への差分とフルの復元に問題はありません。バックアップファイルに互換性があることを確認します。これを行うには、RESTORE HEADERONLYコマンドを実行して、完全バックアップのFirstLSN値を差分のDifferentialBaseLSNと比較します。

restore headeronly
from disk='X:\BackupFiles\foo.bak'

enter image description here

これらの値が一致しない場合は、適切な完全バックアップを行う必要があります。

6
Mike Fal

SQL Server 2005からの差分バックアップがSQL Server 2012で正しく復元されない理由を誰かが知っていますか?そして、どうすればこれを修正できますか?

BOLから

SQL Server 2012では、SQL Server 2005以降のバージョンを使用して作成されたデータベースバックアップからユーザーデータベースを復元できます。ただし、 SQL Server 2005またはSQL Server 2008を使用して作成されたマスター、モデル、およびmsdbは、SQL Server 2012では復元できません。

私はそれを試しました、そしてそれはBOLで述べられたように働きます。

Thomasが述べたように、差分バックアップを取った後、誰かが完全バックアップを取った可能性があります。

1
Kin Shah