无法导入SQL Azure V12 BACPAC:“typesMicrosoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider无效”

我正在尝试从SQL Azure(v12)数据库导入导出的BACPAC到本地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 ------------------------------ 

更新:新的SQL Server Management Studio Preview是导入Azure SQL DB的最佳方式。 它支持所有最新的Azure SQL DBfunction和validation。 此外,它还有一个独立的networking安装程序,在每个月新function可用时自动更新。 下面给出下面的评论,提到安装CU更新的难度,这将是一个更简单,更快捷的解决scheme。

原始答案:如果使用SQL Server Management Studio执行“导入”,则必须安装SSMS 2014 CU5或CU6。 有关安装CU6的信息可以在这里find 。 您的问题中显示的错误表示您正在使用旧版本的SSMS。

**更新:**为回应马丁的回答,我想澄清两件事情。

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

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

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

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

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

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

安装以下,它将工作!
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

我与SQL Azure的数据库备份(v12)有同样的问题。

我已经安装了Microsoft®SQLServer®数据层应用程序框架(2015年2月) (为了正常工作,您将需要安装x64和x86版本)。 首先,我安装了x64版本,并试图恢复数据库 – 但它没有奏效。 之后,我已经安装了x86版本,我可以成功恢复数据库。

我的SQL Server版本:Microsoft SQL Server 2014 – 12.0.2269.0(X64)。 操作系统:Windows 10 x64构build10240。

Tnanks。

安装最新的SQL Server Management Studio 2016预览版后,从Azure数据库还原BacPac失败。 解决scheme是为我的本地SQL数据库实例设置“Contained Database Authentication”= 1。 在这里阅读有关解决scheme或在本地实例上运行此脚本:

USE master GO RECONFIGURE GO sp_configure'CONTAINED DATABASE AUTHENTICATION',1

我正在使用错误的SqlPackage.exepath。

不起作用:

 C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe 

作品:

 C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin\SqlPackage.exe C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\SQLDB\DAC\130\SqlPackage.exe 

我有同样的问题。

按照这里的build议安装累积更新软件包6有助于避免第一个错误,而只是陷入下一个错误。

与此主题相关:

在升级到v12后,bacpac的SQL Azure导入不起作用

这是一个错误微软没有修复或解决方法呢。

编辑:SQLpipe理Studio 2014是需要恢复(2012年不工作)

如果有一个,我认为线程将被更新。

编辑:在上面提到的链接,你现在可以find一个解决方法:你需要创build一个你的V12数据库的副本。 这个副本可以导出并重新导入本地sql server 2014。

只是更新工具没有帮助。

我正在使用版本11.0.2100.60,并具有相同的问题。 安装了Microsoft®SQLServer®数据层应用程序框架(2015年2月) 。 之后所有的工作都很好。