【发布时间】:2017-05-11 05:10:12
【问题描述】:
我正在使用 Azure 自动化来替换我的 SQL Server 代理作业,而且我是 Powershell 脚本的新手。我的问题是创建具有多个查询和存储过程执行的脚本是否会等待完成一项任务,然后再进行下一项任务。在 SQL 代理作业中,您可以定义每个步骤,然后指示它等待该步骤成功,然后enter code here 继续下一步。
例如,给定这个 Powershell 脚本:
workflow SyncDataFromTransfer
{
Write-Output "JOB START BEFORE INLINESCRIPT"
inlinescript
{
Write-Output "JOB START"
# Create connection to Master DB
$MasterDatabaseConnection = New-Object System.Data.SqlClient.SqlConnection
$MasterDatabaseConnection.ConnectionString = "Data Source=Azure SQL Server;Initial Catalog=SearchDb;Integrated Security=False;User ID=user;Password=password;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False"
$MasterDatabaseConnection.Open()
Write-Output "CONNECTION OPEN"
# Create command
$MasterDatabaseCommand = New-Object System.Data.SqlClient.SqlCommand
$MasterDatabaseCommand.Connection = $MasterDatabaseConnection
$MasterDatabaseCommand.CommandTimeout=0
$MasterDatabaseCommand.CommandText = "DELETE FROM [SearchDb].IdData
WHERE TaskId = 1000"
# Execute the query
$MasterDatabaseCommand.ExecuteNonQuery()
# Close connection to Master DB
$MasterDatabaseConnection.Close()
Write-Output "CONNECTION CLOSED"
}
Write-Output "WORK END - AFTER INLINESCRIPT"
}
问题是,如果我在“$MasterDatabaseCommand.ExecuteNonQuery()”行之后直接添加第二个查询,脚本会在运行第二个查询之前等待第一个查询成功完成吗?
【问题讨论】:
标签: powershell azure azure-sql-database azure-automation