【问题标题】:Publishing dacpac to Azure SQL Managed Instance from on prem SQL Server 2016 via PowerShell failing "cannot publish to SQL Server 2014"通过 PowerShell 从本地 SQL Server 2016 将 dacpac 发布到 Azure SQL 托管实例失败“无法发布到 SQL Server 2014”
【发布时间】:2021-09-02 23:26:41
【问题描述】:

我正在尝试使用下面的 PowerShell 将从 prem 服务器上的 SQL Server 2016 中提取的 dacpac 发布到 Azure SQL 托管实例,但这失败了下面的错误。

SqlPackage.exe /SourceFile:$DacPacFilePathName /Action:Publish /TargetServerName:$DatabaseServer /TargetDatabaseName:$DatabaseName /TargetUser:$User /TargetPassword:$Password

    SqlPackage.exe : *** An error occurred during deployment plan generation. Deployment cannot continue.
    At line:9 char:1
    + SqlPackage.exe /SourceFile:$DacPacFilePathName /Action:Publish /Targe ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (*** An error oc...annot continue.:String) [], RemoteException
        + FullyQualifiedErrorId : NativeCommandError

A project which specifies SQL Server 2016 as the target platform cannot be published to SQL Server 2014.

如果我在 Azure 托管实例中创建一个新数据库并从中创建一个 dacpac,我可以使用相同的 PowerShell 命令来发布它并且它工作正常。

任何想法是什么导致了这个问题?

【问题讨论】:

    标签: azure powershell tsql azure-sql-managed-instance


    【解决方案1】:

    错误已经在试图解释问题

    将 SQL Server 2016 指定为目标平台的项目 无法发布到 SQL Server 2014。

    所以here你可以在使用DataPacs时找到目标更改的Microsoft页面。

    【讨论】:

      【解决方案2】:

      解决了这个问题。

      我们的部署服务器上的 $env:Path 设置为使用 SQLDB\DAC\140\SqlPackage.exe,但 SQL 托管实例仅适用于 SQLDB\DAC\150\SqlPackage.exe

      【讨论】:

        猜你喜欢
        • 2014-06-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-12
        • 1970-01-01
        • 2022-08-19
        • 1970-01-01
        • 2021-07-30
        相关资源
        最近更新 更多