属性 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'