将差异备份从 SQL Server 2005 还原到 SQL Server 2012

3 sql-server-2005 sql-server restore sql-server-2012

我们正在将客户端迁移到新服务器。他们的旧服务器有 SQL Server 2005。我尝试执行差异备份,但是我收到一个关于 LSN 链被破坏的错误。

请注意,我已经多次这样做了,完整备份在新服务器上恢复NORECOVERY,然后当我去恢复差异备份时,我收到有关损坏的 LSN 链的错误。

我做了一个测试数据库,得到了相同的结果。然后我将测试数据库文件移到运行 SQL Server 2008 R2 的服务器上,备份正确恢复。

有谁知道为什么 SQL Server 2005 的差异备份无法在 SQL Server 2012 上正确还原?我该如何解决这个问题?

Mik*_*Fal 6

将差异和完全从 SQL 2005 恢复到 SQL 2012 应该没有问题。我会验证您的备份文件是否兼容。为此,您需要使用该RESTORE HEADERONLY命令并将完整备份的 FirstLSN 值与差异的 DifferentialBaseLSN 值进行比较:

restore headeronly
from disk='X:\BackupFiles\foo.bak'
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

如果这些值不匹配,则您需要进行适当的完整备份。