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


16

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

尝试还原备份文件时,我得到:

标题:Microsoft SQL Server Management Studio

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

要获取帮助,请单击:http : //go.microsoft.com/fwlink? .PropertyCannotBeRetrievedExceptionText&EvtID = MasterDBPath&LinkId = 20476

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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL11E.LOCALDB\MSSQLServer\CurrentVersion`

但这没有帮助。

有人有什么想法吗?


备份文件的源SQL Server版本和版本是什么?
Thomas Stringer

备份来自SQL Server 2012 Developer版本安装。
Andy Neillans'9

Answers:


15

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

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

DefaultData
DefaultLog                     

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


对我来说不幸的是不工作:(我试过设置下的MSSQLServer项,也CurrentVersion键值,但是我还是在Management Studio中相同的行为。
安迪Neillans

如果您以管理员身份运行,这将起作用
Max Toro

1
谢谢-这对我以管理员身份运行非常有用,但是我还必须创建第三个密钥BackupDirectory,该密钥指向相似的目录。
DaveHogan

像魅力一样工作,谢谢
njappboy 2014年

这为我解决了这个问题,应该是公认的答案。
Lews Therin's

1

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

或者,您可以使用restore 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'

-1

我安装了最新的Microsoft SQL Server Management Studio 2017之后,此问题已解决。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.