Azure DevOps&Quot;Hosted 2017生成代理不允许SQL连接(&Q) [英] Azure DevOps "Hosted 2017" build agent not allowing SQL connection

本文介绍了Azure DevOps&Quot;Hosted 2017生成代理不允许SQL连接(&Q)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个非常简单的DacPac,它由Azure DevOps构建并通过发布管道发布。构建工作正常,但管道失败,出现连接错误。我已经一遍又一遍地检查了设置。防火墙规则已在目标服务器上正确设置,凭据有效,但版本将无法通过。我尝试了许多组合,包括指定端口,但无法连接。如果我尝试从PowerShell启动连接并调用-SqlCmd,则会收到类似的连接错误。

有没有人能说点什么?

Hosted 2017代理上是否有任何端口限制可能会阻碍(例如,1433被阻止)?

我需要更新代理吗?

SQL连接是否需要一些其他配置?

谢谢

我得到的错误是:

无法连接到目标服务器".database ase.windows.net"。 请验证服务器名称等连接信息, 目标服务器的登录凭据和防火墙规则。登录 用户数据失败.

推荐答案

标准SQL发布活动似乎不支持AD身份验证。UI仅允许您为SQL用户提供凭据。可以选择通过/TargetConnectionString参数为SqlPackage.exe提供连接字符串,但是这不起作用,因为UI需要SQL凭据,而这些凭据不能与/TargetConnectionString参数一起使用。

我通过从标准PowerShell发布脚本运行SqlPackage.exe解决了此问题。

&;"C:程序文件(X86)Microsoft Visual Studio2017EnterpriseCommon7IDEExtensionsMicrosoftSQLDBDAC140SqlPackage.exe" /SourceFile:"$(System.DefaultWorkingDirectory)/_MyProj.Infrastructure build/DBScripts/bin/Debug/MyProj.Database.dacpac"/操作:发布 /tcs:"Server=myprodsql.database.windows.net;Initial 目录=OptimisedDb;持久化安全信息=False;用户 ID=‘$(adminUserEmail)’;Password=‘$(adminUserPassword)’;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication=Active目录密码"

这篇关于Azure DevOps&Quot;Hosted 2017生成代理不允许SQL连接(&Q)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆