Azure DevOps - 恢复数据库的管道发布任务

问题描述

Azure DevOps 的发布管道中是否有任务(由 Microsoft 或第 3 方创建)可以连接到我的数据库并执行我拥有的存储过程来恢复我的数据库

目前,我必须将桌面远程连接到我的虚拟机中,该虚拟机包含我的 sql Server 2019 数据库并执行我的还原脚本。我想要做的是有一个任务可以访问我的 VM 中的数据库并为我恢复它,但我不确定我将如何去做,或者即使该功能存在。

解决方法

目前没有可用的 pre-defined tasks 在 Azure 管道中的 SQL Server 数据库中执行 sql 脚本。

作为一种解决方法,您可以尝试在您的虚拟机上 deploy self-hosted agent,然后在发布管道中使用此代理,以便发布将在您的虚拟机上运行。您可以使用 Command Line taskPowerShell task 运行您的 sql 脚本。请参阅:Custom Azure DevOps pipeline task to execute a SQL script 了解更多详情。

顺便说一句,我们找到了这个第 3 方扩展:SQLplus Executer - Release Edition,它可以使用 SQLplus 执行 sql 文件。你可以检查一下。