从 Windows Azure 导入 bacpac 文件时遇到此错误
TITLE: Microsoft SQL Server Management Studio
------------------------------
Count not load schema model from package. (Microsoft.SqlServer.Dac)
------------------------------
ADDITIONAL INFORMATION:
Internal Error. The internal target platform type SqlAzureDatabaseSchemaProvider
does not support schema file version '2.5'.
大多数在线帮助都建议升级 SSDT,但我已经安装了 VS2012 的最新版本 SSDT
最佳答案
更新 - 有了包括查询存储在内的许多新功能,现在最好使用 SQL Server Management Studio 预览版进行导入。在某些情况下,鉴于 bacpac 文件中的更新功能,这是必要的。您可以从其 download page 安装它。在该下载页面上,选择“下载 SQL Server Management Studio 预览版”进行安装。
原始答案 最佳解决方案是从 Express download page 安装 SQL Server Management Studio 2014 。在该下载页面上,单击下载链接时选择“MgmtStudio 32BIT\SQLManagementStudio_x86_ENU.exe”安装程序。 SSMS 2014 包含更新的 DacFx 版本,该版本支持 2.5 版,并完全支持 SQL Server 2005-2014 数据库以及 Azure 数据库。
关于 DacFx/SqlPackage 的一些说明:
安装最新的 SSDT 无法解决该问题,因为 SSDT 不再在共享位置安装 Dac DLL。相反,它将它们安装在 Visual Studio 安装目录 (C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\120) 下。
要将 SSMS 中使用的 DacFx 二进制文件更新到最新版本,您必须直接安装 DacFramework.msi。您可以下载2014年最新版本here (这将更新 SSMS 2014 使用的位置),或者如果您必须使用 SSMS 2012,则找到与之兼容的最后一个版本 here .
SqlPackage.exe 确实支持 bacpac。您需要对 bacpac 使用导入/导出操作,而不是对 dacpac 使用提取/发布操作。
关于sql-server - 在 Sql Server 2012 中导入 bacpak 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25255522/