【问题标题】:Error while importing bacpak in Sql Server 2012在 Sql Server 2012 中导入 bacpak 时出错
【发布时间】:2014-10-05 00:06:10
【问题描述】:

从 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,但我已经安装了最新版本的 SSDT for VS2012

【问题讨论】:

  • SSDT 版本来自 14 年 7 月更新。此外,SqlPackage.exe 不能像预期的那样使用 dacpac 而不是 bacpac

标签: sql-server visual-studio-2012 sql-server-data-tools bacpac


【解决方案1】:

更新 - 有了包括查询存储在内的许多新功能,现在最好使用 SQL Server Management Studio Preview 进行导入。在某些情况下,鉴于 bacpac 文件中的更新功能,这将是必要的。你可以从它的download page 安装它。在该下载页面上选择“下载 SQL Server Management Studio Preview”进行安装。

原答案 最好的解决方案是从Express download page 安装 SQL Server Management Studio 2014。在该下载页面上,单击下载链接时选择“MgmtStudio 32BIT\SQLManagementStudio_x86_ENU.exe”安装程序。 SSMS 2014 包含更新的 DacFx 版本,该版本支持 2.5 版并完全支持 SQL Server 2005-2014 dbs 以及 Azure DBs。

关于 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 确实支持 bacpacs。您需要对 bacpacs 使用 Import/Export 操作,而不是用于 dacpacs 的 Extract/Publish 操作。

【讨论】:

  • 使用了第二个选项 Update Dac framework for SSMS 2012,它确实解决了我的问题。谢谢。
  • 在这个SQLpackage之前说没有动作Import。 Dacframework 更新后没试过。
  • 2014 年的最新版本(在第二个要点中)现在是 here
  • 您的解决方案有效 - “SQL Server Management Studio 2015 年 11 月预览版”!!非常感谢。
  • 我必须安装 sql server management studio 2016 才能工作msdn.microsoft.com/en-us/library/mt238290.aspx
【解决方案2】:
【解决方案3】:

在我看来,最近 Azure 方面发生了一些变化,使用 SQL Server 2014 Management Studio 实现了收支平衡。我必须在 SQL Server 2014 Management Studio 上安装 Cumulative Update 5 才能让它再次工作。累积更新 6 似乎已经发布,所以您也可以尝试一下。

【讨论】:

  • 是的,最近的更改意味着如果在 Azure SQL 数据库上启用了查询存储,并且您使用导入/导出服务导出,则需要安装最新的 SSMS 预览版。您可以从msdn.microsoft.com/en-us/library/mt238290.aspx 下载并安装它。它与以前的 SQL Server 版本完全向后兼容
  • 我可以确认 CU6 for SQL Server 2014 SP1 可以正常工作。可以在这里找到support.microsoft.com/en-us/kb/3144524
【解决方案4】:

我已经使用SP2 更新了我的 SQL Server 2012,然后我实际上可以从 Azure 导入 BACPAC 文件。你可以试试。

【讨论】:

    【解决方案5】:

    我知道这已经存在了一段时间,但那些仍然存在此问题的人,这是因为拥有旧版本的 Microsoft® SQL Server® 数据层应用程序框架。

    安装最新版本解决了这个问题。

    在我写这篇文章时,这是最新的,我使用的是旧版本,它与我尝试导入的 bacpac 文件不兼容。

    http://www.microsoft.com/en-us/download/details.aspx?id=46898

    【讨论】:

      猜你喜欢
      • 2013-05-27
      • 2012-07-06
      • 1970-01-01
      • 1970-01-01
      • 2014-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多