【发布时间】:2022-10-05 01:20:21
【问题描述】:
尝试在 Azure Dev Ops 发布管道上运行 .SQL 文件时出现错误:
这是错误:
System.Management.Automation.RuntimeException:在订阅 [订阅 id] 中找不到具有 serverName [服务器]、serverType Microsoft.Sql/servers 的资源。指定正确的服务器名称/服务器类型,然后重试。在https://aka.ms/sqlazuredeployreadme#troubleshooting- 上查看如何解决故障
我们确实在 sql server 数据库的网络选项卡上检查了这个设置:
我检查了数据库服务器名称,一切都正确。
虽然它与防火墙规则有关,但我们无法弄清楚为什么我们不能发布我们的迁移脚本来运行 auto。
我们还可以尝试什么其他想法?
谢谢。
更新 1:
我们还有大约 5 个其他实例,它们的设置方式与似乎工作正常的相同。
更新 2:
这是我们正在执行的将 .sql 文件推送到失败的 Azure 数据库的发布步骤:
【问题讨论】:
-
“允许 Azure 服务……”选项不包括 Azure 中的所有内容。信息图标应引导您进入列出所包含内容的页面。我怀疑是否包含 DevOps 管道。您可能必须配置一个可以通过服务器防火墙的自托管池 - 它可以在 Azure VM 上运行。这样做是为了在专用 VNet 上部署应用服务。
-
@ScottMildenberger:感谢您的回复。我没有添加的一件事是,我们有 5 个其他操作方式相同,似乎工作正常。这就是我们感到困惑的地方。
-
在 devops 中运行 .sql 文件的方法有很多种。看起来您正在使用包含尝试在控制平面中查找 Azure SQL Server 并打开防火墙的步骤。这一步甚至可能不是必需的。您可以添加更多关于您的发布管道正在使用哪个步骤的详细信息。特别是对于这个错误,我猜你的 Azure SQL Server 对你正在使用的服务连接不可见
-
@Nick.McDermaid:我添加了我们正在执行的完整发布步骤,以将
.sql文件推送到我们的 azure 数据库。当我们有其他工作时仍然不理解?似乎它可能是我们 Azure 数据库上的设置?我们找不到需要更改的设置!感谢您查看并回复此帖子。 -
首先请记住,YAML 管道现在是推荐的方法。您在这里拥有的是通常不推荐用于新作品的“发布”风格。无论如何,此步骤使用的任何服务连接都可能没有对 Azure SQL Server 的控制平面访问权限。很难提供更多细节,因为我现在只做 YAML
标签: sql azure azure-devops azure-pipelines-release-pipeline