我正在尝试自动化构建部署过程,其中一部分是在每个版本中升级数据库。 数据库托管在 Amazon RDS SQL Server 上。 我的 RDS 数据库也可供公共(public)访问,我能够使用 Management Studio 从任何地方进行连接。但是,根本无法从 Azure Devops Pipeline 访问服务器。
最佳答案
该问题源自您在 Azure 管道中使用的任务使用 DAC 发布配置文件部署数据库 DACPAC
。
我查看了这个任务的源代码,发现错误server not exit
来自 here当 ping the sqlserver 。如果需要凭据才能访问服务器主数据库,则代码将失败。
并且此任务无法使用sql server用户名和密码。关于此还有待解决的问题。请参阅问题 here
作为解决方法,您可以使用直接在命令行任务
中运行 sqlpackage.exe 命令来部署数据库:例如:在命令行任务中运行下面的行脚本。请参阅here了解更多信息。
"C:\Program Files\Microsoft SQL Server\150\DAC\bin\sqlpackage.exe" /Action:Publish /SourceFile:[path to dacpac] /Profile:[path to publish profile]
如果您使用的是 Microsoft 托管代理,则可以在路径 C:\Program Files\Microsoft SQL Server\150\DAC\bin\sqlpackage.exe
中找到 sqlpackage.exe。
检查here了解有关 sqlpackage 命令的更多信息。
检查this open issue关于此服务器不存在错误。
关于amazon-web-services - 如何从 Azure DevOps 连接 Amazon RDS SQL 以实现数据库自动化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63358822/