日期:2014-05-17  浏览次数:20422 次

sql语句还原数据库
RESTORE DATABASE bb
FROM DISK = 'D:\haha.bak'
with replace,
MOVE 'bb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\bb.mdf',
MOVE 'bb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\bb_log.ldf'

我新建了一个数据库bb和备份的数据库haha是不同的,
执行上面的语句后就出现了很多错误。
消息 1834,级别 16,状态 1,第 1 行
无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\haha.mdf'。数据库 'haha' 正在使用该文件。
消息 3156,级别 16,状态 4,第 1 行
文件 'haha' 无法还原为 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\haha.mdf'。请使用 WITH MOVE 选项来标识该文件的有效位置。
消息 1834,级别 16,状态 1,第 1 行
无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\haha_log.ldf'。数据库 'haha' 正在使用该文件。
消息 3156,级别 16,状态 4,第 1 行
文件 'haha_log' 无法还原为 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\haha_log.ldf'。请使用 WITH MOVE 选项来标识该文件的有效位置。
消息 3119,级别 16,状态 1,第 1 行
在计划 RESTORE 语句时发现了问题。以前的消息提供了详细信息。
消息 3013,级别 16,状态 1,第 1 行
RESTORE DATABASE 正在异常终止。



怎么样解决,各位朋友。谢谢了。

------解决方案--------------------
还是看看老贴吧
http://topic.csdn.net/t/20030609/14/1894233.html
------解决方案--------------------
SQL code

--try
RESTORE DATABASE bb
FROM DISK = 'D:\haha.bak'
with replace,
MOVE 'D:\haha.mdf' TO 
    'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\bb.mdf',
MOVE 'D:\haha_log.ldf' TO 
    'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\bb_log.ldf'