如何在PowerShell脚本中执行SQL作为Visual Studio Team Services构建任务的一部分?
如何在托管代理的VSTS构建任务中针对Azure SQL数据库执行SQL,作为PowerShell脚本的一部分?如何在PowerShell脚本中执行SQL作为Visual Studio Team Services构建任务的一部分?
有许多可用于生成定义许多任务:我们可以远程执行PowerShell脚本
或部署使用DACPAC或SQLCMD
甚至SQL执行的PowerShell机器
但如何简单地执行SQL作为PowerShell脚本的一部分? Invoke-Sqlcmd不作为“Azure PowerShell”任务的一部分提供。
我想可以远程桌面到一个应用程序服务,在那里安装SQL Server相关的位并使用'目标机器上的PowerShell',但我觉得必须有一个更简单的方法 - 也许我只是缺少东西明显
但如何简单地执行SQL作为PowerShell脚本的一部分? Invoke-Sqlcmd不作为“Azure PowerShell”任务的一部分提供。
我认为,我们可以利用这个PowerShell脚本来运行SQL与Azure的PowerShell执行Azure的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门户查询编辑器查询表如下:
有可能在出错时停止吗?我们正在进行修补,其中包括由GO语句分隔的模式更新(以及类似于“如果当前版本不支持,然后错误/退出”的逻辑) – karl25233
您的意思是使用powershell来实现逻辑吗?是的,我们可以使用PowerShell检查版本并运行 –
@thomius检查是否提供的信息是有帮助的请让我知道是否需要进一步的帮助 –
您是使用托管代理还是私人代理?你的SQL服务器是一个本地SQL实例还是一个Azure SQL实例? –
托管代理和Azure SQL数据库。更新了问题 – karl25233