LocalDB的奇怪问题

属性 MasterDBPath 不可用于 信息“Microsoft.SqlServer.Management.Smo.Information”。该对象可能没有此属性,也可能是访问权限不足而无法检索。  (Microsoft.SqlServer.Smo)

属性 BackupDirectory 不可用于 设置Microsoft.SqlServer.Management.Smo.Settings。该对象可能没有此属性,也可能是访问权限不足而无法检索。 (Microsoft.SqlServer.Smo)

解决办法,在注册表 HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL11E.LOCALDBMSSQLServer目录中添加DefaultData、DefaultLog、 BackupDirectory三个字符串项,分别是指定默认数据库文件、日志和备份的默认目录。也可以把以下代码保存为 localDefaultDirectory.reg目录再直接打开导入。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL11E.LOCALDBMSSQLServer]
"DefaultData"="D:\localdb"
"DefaultLog"="D:\localdb"
"BackupDirectory"="D:\localdb"
导入成功后在localdb实例的服务器属性页能打开了。当然,也能使用*.bak还原了

另外,这里还有另一种方法,可以供尝试

https://dba.stackexchange.com/questions/23609/sql-server-localdb-instance-error-restoring-backup-masterdbpath-not-available

Not really a proper solution, but this error does not occur if you create a blank database, then restore your backup overwriting the blank database.

Or you can use the restore T-SQL commands:

RESTORE DATABASE <database> FROM DISK = '<backupfile>' WITH NORECOVERY,
    MOVE 'example_dat' TO 'C:Temp<database>.mdf',
    MOVE 'example_log' TO 'C:Temp<database>.ldf'
原文地址:https://www.cnblogs.com/s5689412/p/7456976.html