MS SQL SERVER数据库备份BAK还原数据库
由于数据误操作,想恢复一下操作前的数据。于是新建了一个空数据库。使用原来的备份文件 bak。来恢复成一个新的数据库。这样就可以手动恢复数据了。
但是在恢复新建数据库的时候总是不成功,提示错误入下:
The backup set holds a backup of a database other than the existing '数据库名称' database.
RESTORE DATABASE is terminating abnormally. (Microsoft SQL Server, Error: 3154)
解决办法:
USE master
RESTORE DATABASE 新建的没有任何数据的数据库名
FROM DISK = 'e:/数据库备份文件.bak'
WITH MOVE '原来的逻辑名称' TO 'e:/新建的没有任何数据的数据库名.mdf',
MOVE '原来的逻辑名称_log' TO 'e:/新建的没有任何数据的数据库名_log.ldf',
STATS = 10, REPLACE
GO
例子:
USE master
RESTORE DATABASE guotu
FROM DISK = 'E:/数据库/DLibrary.bak'
WITH MOVE 'DLibrary_1' TO 'D:/数据库/guotu.mdf',
MOVE 'DLibrary_1_log' TO 'D:/数据库/guotu_log.ldf',
STATS = 10, REPLACE
GO