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 上正确还原?我该如何解决这个问题?
将差异和完全从 SQL 2005 恢复到 SQL 2012 应该没有问题。我会验证您的备份文件是否兼容。为此,您需要使用该RESTORE HEADERONLY命令并将完整备份的 FirstLSN 值与差异的 DifferentialBaseLSN 值进行比较:
restore headeronly
from disk='X:\BackupFiles\foo.bak'
Run Code Online (Sandbox Code Playgroud)

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