【问题标题】:Azure Runbook for SQL procedure execution :Facing Timeout Issues用于 SQL 过程执行的 Azure Runbook:面临超时问题
【发布时间】:2016-11-17 12:00:15
【问题描述】:
我在 azure 中创建了一个运行手册,以在预定的时间间隔内自动执行我的 sproc,我在 sproc 执行时看到超时异常。
我尝试将连接字符串中的连接超时值更改为“0”以使其无限期,但我仍然看到同样的问题再次发生。当我执行此存储过程时,几乎不需要 3 分钟,但运行手册因超时异常而失败。如果我遗漏任何内容,有人可以帮助我。
Runbook 类型:PowerShell 工作流 Runbook
谢谢,
马诺杰。
【问题讨论】:
标签:
powershell
azure
azure-sql-database
runbook
【解决方案1】:
将您的连接字符串超时设置为 0 只会影响 连接 超时,换句话说,您给您的进程无限的时间来建立与数据库的连接。在没有看到您的代码的情况下,我怀疑问题出在您的命令超时 - 您的存储过程可能需要比默认的 30 秒更长的时间才能完成。在执行存储过程之前,您应该在 SqlCommand 实例上设置适当的超时:
# Create command with a 10 minute timeout
$DatabaseCommand = New-Object System.Data.SqlClient.SqlCommand
$DatabaseCommand.Connection = $DatabaseConnection
$DatabaseCommand.CommandTimeout = 600
$DatabaseCommand.CommandText = "..."
# Execute non query
$NonQueryResult = $DatabaseCommand.ExecuteNonQuery()