我尝试运行以下查询来恢复数据库:
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'
并收到以下错误:
消息 5133,级别 16,状态 1,行 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 Server\MSSQL11.SQLSERVER2012\DATA\myDatabase_log.ldf”。
使用 WITH MOVE 标识文件的有效位置。
对于第一个错误,SQL Server 似乎找不到 .ldf 文件。但是,它位于该位置,并在我运行restore filelistonly
.bak 文件时列在结果中。