我从Azure门户创建了.bacpac文件并将其保存到桌面。然后在Management Studio 2016 Candidate中右键单击Databases并选择Import data tier application我将我的文件定位到下一个...当它进入流程时我收到错误:
无法加载文件或程序集“Microsoft.SqlServer.Dac,Version = 13.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a”或其依赖项之一。您找不到指定的文件。 (Microsoft.SqlServer.Management.Dac.DacWizard)
我正在搜索谷歌,但我找不到任何有效的解决方案。你能帮忙吗?
另请查看有关配置的图片:
答案 0 :(得分:11)
这是由于SSMS中的错误应该在将来的版本中修复。问题是,如果安装了Lightswitch for VS2015,SSMS用于查找DLL的绑定路径将包括对130版本之前的早期110版DacFx DLL的引用。这会导致上述错误,因为默认情况下Visual Studio会返回第一个匹配的DLL。
解决方案:
添加以下行以确保将来忽略110绑定路径并保存文件:
[$ RootKey $ \ BindingPaths \ {272EA915-68EE-4AFD-99A4-1286126565EC}]
接下来我们需要将它从注册表中删除,因为它已经添加了一次。打开Regedit.exe并导航到“HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ SQL Server Management Studio \ 13.0_Config \ BindingPaths”
注意:这只会在安装了VS2015且安装了Lightswitch软件包的计算机上进行。原因是VS2015绑定路径包含在SSMS等隔离Shell应用程序中,除非pkgundef文件排除它们。修复程序将包含在即将发布的版本中。
披露:我在SQL Server工具团队工作。
答案 1 :(得分:0)
您可以从此处下载最新版本的数据层应用程序框架(包括Microsoft.SqlServer.Dac):https://www.microsoft.com/en-us/download/details.aspx?id=51672
请注意,您还应根据下载页面的“系统要求”部分安装依赖项SqlDom和SqlSysClrTypes:
依赖关系 Microsoft SQL Server数据层应用程序框架需要Microsoft SQL Server系统CLR类型和Microsoft SQL Server Transact-SQL ScriptDom(SQLSysCLRTypes.msi和SQLDOM.msi),下面提供了这两种类型。如果您使用的是x64计算机,则需要同时安装上述MSI的x64和x86版本。