SQL Server LocalDB 实例;恢复备份时出错(MasterDBPath 不可用)

And*_*ans 17 sql-server

我安装了 SQL Server 2012 本地数据库,并通过 (localdb)\v11.0 连接到它。

尝试恢复备份文件时,我得到:

标题:Microsoft SQL Server 管理工作室

属性 MasterDBPath 不可用于信息“Microsoft.SqlServer.Management.Smo.Information”。此对象可能不存在此属性,或者可能由于访问权限不足而无法检索。(Microsoft.SqlServer.Smo)

如需帮助,请单击:http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=11.0.2100.60+((SQL11_RTM).120210-1846+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates .PropertyCannotBeRetrievedExceptionText&EvtID=MasterDBPath&LinkId=20476

我曾尝试在以下位置设置 MasterDBPath 字符串值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\MSSQLServer\CurrentVersion`
Run Code Online (Sandbox Code Playgroud)

但这没有帮助。

有人有什么想法吗?

小智 16

我有同样的问题,并解决了它。

您需要通过regedit.exeat 在 Windows 注册表中添加 2 个字符串HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\MSSQLServer

DefaultData
DefaultLog                     
Run Code Online (Sandbox Code Playgroud)

对我来说,他们的价值观都是C:\Users\neil\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0


And*_*ans 1

这并不是一个真正正确的解决方案,但如果您创建一个空白数据库,然后恢复覆盖该空白数据库的备份,则不会发生此错误。

或者您可以使用恢复 T-SQL 命令:

RESTORE DATABASE <database> FROM DISK = '<backupfile>' WITH NORECOVERY,
    MOVE 'example_dat' TO 'C:\Temp\<database>.mdf',
    MOVE 'example_log' TO 'C:\Temp\<database>.ldf'
Run Code Online (Sandbox Code Playgroud)