恢复差异数据库文件“的备份集保存数据库的备份,而不是现有的”

我正在尝试使用完全/差分方法将SQL数据库还原到与备份不同的服务器。 数据库处于简单恢复模式,因为它是一个testing数据仓库。

我有一个完整的备份,大约5天,也是从今天的差异。

现在,当我尝试应用差分时,我收到以下消息:

RESTORE DATABASE PAS_DWH_ME FROM DISK='C:\MTWSQL01_Differential_Database.bak' WITH REPLACE Msg 3154, Level 16, State 4, Line 1 The backup set holds a backup of a database other than the existing 'PAS_DWH_ME' database. Msg 3013, Level 16, State 1, Line 1 RESTORE DATABASE is terminating abnormally. 

我原本试图通过SSMS,但它说了一些关于打破LSN链。 谷歌build议这是我们的SSMS版本的一个错误。

谷歌build议解决这个问题的方法是使用WITH REPLACE选项,但是我正在使用该子句。

更多信息:

 restore headeronly from disk = 'C:\MTWSQL01_Full_Database.bak' restore headeronly from disk = 'C:\MTWSQL01_Differential_Database.bak' 

Full = 1063466000005158400170

DatabaseBackupLSN的差异= 1063466000005158400170

OP和我在一个交互式的聊天会议中解决了这个问题。 事实certificate,有问题的备份文件有多个备份集。 他需要恢复的那个不在位置1,所以与原先恢复的完整备份不匹配。 解决方法是添加一个with file = n (其中n是该文件中的备份集的位置)。