如何在Azure托管代理中的VSTS构建任务中作为PowerShell脚本的一部分对Azure SQL数据库执行SQL?
构建定义有许多任务:我们可以执行PowerShell脚本
使用DACPAC或SQLCMD部署SQL
甚至在远程计算机上执行PowerShell
但是如何简单地将SQL作为PowerShell脚本的一部分执行? Invoke-Sqlcmd不可用作“Azure PowerShell”任务的一部分。
我想有可能远程桌面到应用服务,在那里安装SQL Server相关位并在目标机器上使用'PowerShell',但我觉得必须有一个更简单的方法 - 也许我只是遗漏了一些东西明显
答案 0 :(得分:2)
答案 1 :(得分:1)
但是如何简单地将SQL作为PowerShell脚本的一部分执行? Invoke-Sqlcmd不能作为Azure PowerShell'的一部分提供。任务。
我认为我们可以使用此PowerShell脚本使用Azure Powershell for Azure SQL数据库运行SQL:
$connectionString = "Data Source=jasontest321.database.windows.net;Initial Catalog=jasonsql;User ID=jason;Password='password';Connection Timeout=90"
$connection = New-Object -TypeName System.Data.SqlClient.SqlConnection($connectionString)
$query = "insert into test1 values (3) ; ;"
$command = New-Object -TypeName System.Data.SqlClient.SqlCommand($query, $connection)
$connection.Open()
$command.ExecuteNonQuery()
$connection.Close()
这是我的测试:
我们也可以使用Azure门户查询编辑器来查询表格,如下所示:
答案 2 :(得分:0)
运行后,Invoke-SqlCmd可用:
Install-Module -Name SqlServer -Force
已在windows-2019
和ubuntu-18.04
(目前最新)上进行了测试。