如何将SQL Server 2008 R2备份恢复到LocalDb 2012



我有一个在SQL Server 2008 R2中创建的数据库(.bak)的备份。

为了测试一些特性,比如将这个备份导入到LocalDB(2012)。当我单击Restore并选择数据库时,出现以下错误:

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

您需要添加以下3个注册表项(运行/regedit):

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL11E.LOCALDBMSSQLServerDefaultData,
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL11E.LOCALDBMSSQLServerDefaultLog, 
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL11E.LOCALDBMSSQLServerBackupDirectory

使用一个已存在的文件夹名作为值(你有写访问权限),例如:"C: 数据库"。

请看看http://www.roelvanlisdonk.nl/?p=2896下的优秀演练(这是我复制答案的地方)。