我尝试运行以下查询来恢复数据库:
restore database myDatabase
from disk=
'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER2012\MSSQL\Backup\myDatabase_backup_2012_06_20.bak'
with replace,
move 'myDatabase' to
'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER2012\MSSQL\DATA\myDatabase',
move 'Analytics_log' to
'C:\Program Files\Microsoft SQL Server\MSSQL11.SQLSERVER2012\DATA\myDatabase_log.ldf'
我收到以下错误:
Msg 5133,Level 16,State 1,Line 1目录查找文件
“C:\ Program Files \ Microsoft SQL Server \ MSSQL11.SQLSERVER2012 \ DATA \ myDatabase_log.ldf“失败了 操作系统错误2(系统找不到指定的文件。)。消息3156,级别16,状态3,行1文件'myDatabase_log'不能 恢复到'C:\ Program Files \ Microsoft SQL 服务器\ MSSQL11.SQLSERVER2012 \ DATA \ myDatabase_log.ldf”。
使用WITH MOVE 识别文件的有效位置。
对于第一个错误,似乎SQL Server找不到.ldf文件。但是,当它在.bak文件上运行restore filelistonly
时,它位于该位置并在结果中列出。
答案 0 :(得分:1)
您确定不要将您的LDF文件复制到:C:\ Program Files \ Microsoft SQL Server \ MSSQL11.SQLSERVER2012 \ MSSQL \ DATA \ myDatabase_log.ldf? ...注意你错过了MSSQL子文件夹。我的意思是LDF文件路径可能无效。