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

时间:2021-01-25 13:19:36

标签: sql-server powershell azure-devops azure-devops-pipelines

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

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

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

2 个答案:

答案 0 :(得分:2)

您可以像这样使用 Invoke-Sql 命令

$SQLServer = "TestServerOne"
$db3 = "TestDB3"
$qcd = "PRINT 'This is output'"
Invoke-Sqlcmd -ServerInstance $SQLServer -Database $db3 -Query $qcd -Username "User" -Password "Password" -Verbose

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

您也可以尝试使用 Run SQL Server Scripts Task extension

答案 1 :(得分:1)

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

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

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

  1. PowerShell task
  2. Define variables
  3. Invoke-Sqlcmd