我在 azure 中创建了一个运行手册,以按计划的时间间隔自动执行我的 sproc,我在执行 sproc 时看到了超时异常。
我尝试将连接字符串中的连接超时值更改为“0”以使其不确定,但我仍然看到同样的问题再次发生。当我执行此存储过程时,它几乎不需要 3 分钟,但运行手册因超时异常而失败。如果我遗漏任何东西,有人可以帮助我。
运行手册类型:PowerShell 工作流运行手册
谢谢,马诺伊。
我在 azure 中创建了一个运行手册,以按计划的时间间隔自动执行我的 sproc,我在执行 sproc 时看到了超时异常。
我尝试将连接字符串中的连接超时值更改为“0”以使其不确定,但我仍然看到同样的问题再次发生。当我执行此存储过程时,它几乎不需要 3 分钟,但运行手册因超时异常而失败。如果我遗漏任何东西,有人可以帮助我。
运行手册类型:PowerShell 工作流运行手册
谢谢,马诺伊。
将连接字符串超时设置为 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()