无法导入SQL Azure V12 BACPAC:"键入Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider无效"

Iva*_*tev 46 azure azure-sql-database

我试图将导出的BACPAC从SQL Azure(v12)数据库导入到本地SQL Server 2012实例中,但我一直收到以下错误.我已经尝试安装从这篇博客文章链接的DAC和SSDT更新,但它没有帮助.

我怎样才能解决这个问题?

TITLE: Microsoft SQL Server Management Studio
------------------------------

Count not load schema model from package. (Microsoft.SqlServer.Dac)

------------------------------
ADDITIONAL INFORMATION:

Internal Error. The database platform service with type Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider is not valid. You must make sure the service is loaded, or you must provide the full type name of a valid database platform service. (Microsoft.Data.Tools.Schema.Sql)

------------------------------
BUTTONS:

OK
------------------------------
Run Code Online (Sandbox Code Playgroud)

Kev*_*ane 39

更新:新的SQL Server Management Studio预览是导入Azure SQL DB的最佳方式.它支持所有最新的Azure SQL DB功能和验证.此外,它还有一个独立的Web安装程序,每当有新功能可用时,它会自动更新.鉴于以下评论提到安装CU更新的难度,这将是一个更简单,更快速的解决方案.

原始答案: 如果您使用SQL Server Management Studio执行导入,则必须安装SSMS 2014 CU5或CU6.有关安装CU6的信息,请点击此处.您的问题中显示的错误表明您使用的是旧版SSMS.

**更新:**为了回应马丁在下面的回答,我想澄清两件事.

  1. SSMS for SQL Server 2014是SSMS的唯一版本,完全支持新的Azure SQL DB v12功能,特别是针对此目标的导入/导出.这是因为v12具有(几乎)功能与SQL Server 2014的奇偶校验,并且旧版本的工具不支持此功能.请注意,SSMS 2014完全向后兼容SQL Server 2005及更高版本.

  2. 有一个单独的临时问题导致数据库升级Azure SQL DB v12出现问题.此问题已得到解决,找到有关解决此问题的信息的正确位置位于"计划和准备升级"页面的C3部分.总之,如果您导出了由于此问题导致无法导入的bacpac,您可以从此处下载最新的DacFramework.msi 以解决SSMS中的此问题.

完全披露:我在SQL Server工具团队工作.

  • 要使这些"修补程序"更加可用,还有一些工作要做.我无法相信我正在通过电子邮件发送下载修补程序的链接,就像我是18世纪的法国农民一样. (26认同)

hal*_*dyr 24

要从导出的V12数据库中使用[sys].[script_deployment_databases]修复导入错误,您必须安装:

  1. CU13
  2. Microsoft SQL Server数据层应用程序框架(2015年2月)(您必须安装BOTH的x64和x86版本).

编辑:CU13没有必要,只需先尝试第二个链接!

  • 对我来说,第二部分有所帮助.谢谢! (7认同)

小智 5

安装以下内容即可使用!
1)您是否为SQL Server Management Studio 2014安装了累积更新5. http://support2.microsoft.com/kb/3011055
2)Microsoft SQL Server数据层应用程序框架(2015年2月)(您必须同时安装x64和x86版本).http://www.microsoft.com/en-us/download/details.aspx?id=45886

  • 对我来说关键是添加x64和x86版本.实现这一目标的关键但很重要.谢谢! (2认同)