如何使用azure devops管道执行sql脚本

meg*_*gha 23 sql-server powershell azure-devops azure-pipelines

我有 SQL 脚本,我想使用 azure DevOps 管道执行

我找到了多个 SQL 任务,但找不到任何可以传递 sql server 、数据库名称和登录详细信息的所需任务。有可用的任务吗?

如果没有任何可用任务,唯一的执行方法是 powershell 脚本,有可用的示例脚本吗?

Sha*_*der 17

您可以使用 PowerShell 执行 sql 脚本。例子:

Invoke-Sqlcmd -InputFile "$(scriptfilepath)" -ServerInstance $(sqlserver) -Database $(dbname) -Username "$(username)" -Password "$(pwd)" -QueryTimeout 36000 -Verbose
Run Code Online (Sandbox Code Playgroud)

添加自定义变量(scriptfilepath、sqlserver...)并为其设置值。

  1. PowerShell 任务
  2. 定义变量
  3. 调用Sqlcmd


Krz*_*tof 6

你可以使用Invoke-Sql这样的命令

$SQLServer = "TestServerOne"
$db3 = "TestDB3"
$qcd = "PRINT 'This is output'"
Invoke-Sqlcmd -ServerInstance $SQLServer -Database $db3 -Query $qcd -Username "User" -Password "Password" -Verbose
Run Code Online (Sandbox Code Playgroud)

确保已安装 SqlServer 模块。它也适用于Powershell Core

您还可以尝试使用运行 SQL Server 脚本任务扩展


Ε Г*_*И О 5

如果您想在 Azure Release Pipeline(经典)中执行此操作,您可以使用 在后台使用的“ Azure SQL 数据库部署 ”块。Invoke-Sqlcmd

在此输入图像描述

这样,您可以将其配置为在您的订阅或服务连接下的给定数据库上执行 SQL 脚本。

在此输入图像描述