0

我一直在尝试测试基于 SQL Server 2014 构建的项目(DB、SSIS、SSAS)是否与 SQL Server 2012 兼容。我已经.dproj打包成 dacpac 格式,当我尝试从 cmd 运行它时:

sqlpackage.exe /Action:Script /SourceFile:"Project.dacpac" /TargetDatabaseName:DBName /TargetServerName:"DBName /p:BlockOnPossibleDataLoss=false /p:RegisterDataTierApplication=true /p:BlockWhenDriftDetected=false /OutputPath:Logs\Output.sql

我收到以下错误:

*** 无法部署包。内部错误。Microsoft.Data.Tools.Schema.Sql.Sql120DatabaseSchemaProvider 类型的数据库平台服务无效。您必须确保已加载服务 e,或者您必须提供有效数据库平台服务的完整类型名称。

我在安装了 SQL Server 的 Azure 上创建了一个 VM。除此之外,我还安装了 VS 2012 的数据工具。我猜这可能是兼容性问题,但也许有一种解决方法,而不需要将 DT 更改为更高版本?有什么可以打的补丁吗?

4

1 回答 1

0

您可以安装更新的 dacfx (sqlpackage),也可以将 DAC 文件夹从更新的版本复制到部署机器并使用该实例sqlpackage.exe进行部署。

您还可以将项目本身中的属性设置为面向 SQL Server 2012,它将验证 T-SQL 对于 SQL Server 2012 是否正确并让您部署到它。

在 2012 年和 2014 年之间有很多修复,所以即使您仍然针对 SQL Server 2012 框sqlpackage,我也会将它们移动到更新版本。sqlpackage

这仅适用于 dacpacs,不确定其他项目。

于 2017-08-31T06:02:58.727 回答