【发布时间】:2015-12-12 09:06:24
【问题描述】:
我正在尝试将数据库还原到 VM 作为新 VM 配置过程的一部分。但是,当我尝试使用以下命令恢复数据库时:
Restore-SqlDatabase -ServerInstance . -Database SomeDatabase -BackupFile $latestBackup -ReplaceDatabase
它失败并出现错误:
Restore-SqlDatabase : System.Data.SqlClient.SqlError: Directory lookup for the file "C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\SomeDatabase.mdf" failed with the operating system error 3(The system cannot find the path specified.).
At line:27 char:1
+ Restore-SqlDatabase -ServerInstance . -Database SomeDatabase -BackupFile $latestB ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [Restore-SqlDatabase], SmoException
+ FullyQualifiedErrorId : ExecutionFailed,Microsoft.SqlServer.Management.PowerShell.RestoreSqlDatabaseCommand
这很令人困惑,因为使用 SQL Server 2014 具有完全相同的路径,但在 MSSQL12.MSSQLSERVER 而不是 Restore-SqlDatabase cmdlet 正在寻找的 MSSQL10.MSSQLSERVER。 MSSQL12.MSSQLSERVER 位置也已存在具有正确名称的数据库。
如何让 cmdlet 将其还原到正确的文件夹?
【问题讨论】:
标签: sql-server sql-server-2008 powershell sql-server-2014