sql2008备份集中的数据库备份与现有的xxx数据库不同解决方法

https://www.cnblogs.com/VAllen/p/MSSQL-RESTORE.html

RESTORE DATABASE test     -- xxxx-改为你自己的数据名称
FROM DISK = 'E:\test\data\xxx.bak' --bak文件路径 xxxx-改为你自己的数据名称 with replace, MOVE 'xxx' TO 'E:\test\data\test.mdf', --mdf文件路径--xxxx-改为你自己的数据名称 MOVE 'xxx_log' TO 'E:\test\data\test_log.ldf' --ldf文件路径xxxx-改为你自己的数据名称

执行时报错,提示逻辑文件xxx不是数据库xxx的一部分,请使用RESTORE FILELISTONLY 来列出逻辑文件名
根据提示,执行如下代码。

RESTORE FILELISTONLY 
FROM DISK = 'E:\data\xxx.bak'

看到执行结果中的逻辑名后,刚才的代码改成:

RESTORE DATABASE test     -- xxxx-改为你自己的数据名称
FROM DISK = 'E:\test\data\xxx.bak' --bak文件路径 xxxx-改为你自己的数据名称 with replace, MOVE 'ceshi' TO 'E:\test\data\test.mdf', --mdf文件路径--xxxx-改为你自己的数据名称 MOVE 'ceshi_log' TO 'E:\test\data\test_log.ldf' --ldf文件路径xxxx-改为你自己的数据名称

再次执行,成功还原数据库。

PS:在空数据库上还原MSSQL数据库备份文件时,要注意该备份文件当时的备份方式是否以完整备份的方式进行备份,而不是所谓的差异备份。如果是差异备份,会造成还原失败

猜你喜欢

转载自www.cnblogs.com/zkwarrior/p/10245466.html