amazon-web-services - 如何从 Azure DevOps 连接 Amazon RDS SQL 以实现数据库自动化

标签 amazon-web-services azure-devops amazon-rds

我正在尝试自动化构建部署过程,其中一部分是在每个版本中升级数据库。 数据库托管在 Amazon RDS SQL Server 上。 我的 RDS 数据库也可供公共(public)访问,我能够使用 Management Studio 从任何地方进行连接。但是,根本无法从 Azure Devops Pipeline 访问服务器。

Output from my Build agent task

最佳答案

该问题源自您在 Azure 管道中使用的任务使用 DAC 发布配置文件部署数据库 DACPAC

我查看了这个任务的源代码,发现错误server not exit来自 hereping 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/

相关文章:

amazon-web-services - 如何保护私有(private)子网后面的 Erlang 集群

json - AWS Lambda 解析 JSON(意外 token )

Azure Devops YAML 多阶段管道工件问题

.net-core - NU1100 : Unable to resolve 'System.Reflection.TypeExtensions (>= 4.5.1)' for '.NETStandard,Version=v1.3'

azure - 使用 Azure Devops 将控制台应用程序部署到 Azure VM 上的文件系统

amazon-web-services - Elastic Beanstalk上的Docker-连接到上游时connect()失败(111:连接被拒绝)

mysql - AWS Redshift 是否应该用于在线查询?

amazon-web-services - 我无法添加 "AWS": "*" in my cloudformation code

mysql - aws rds 代理从 nodejs12.x 抛出超时错误

sql - Postgres : dropping huge AWS hosted table doesn't free up space