2016-11-17 36 views
1

我已经在azure中创建了一个运行记录,以便按计划的时间间隔自动执行我的sproc执行,我在执行sproc时看到超时异常。用于执行SQL过程的Azure Runbook:面临超时问题

我已经尝试将连接字符串中的连接超时值更改为“0”,以使其无限期,但仍然看到相同的问题重复出现。当我执行这个存储过程时,它几乎不需要3分钟,但运行簿失败,超时异常。如果我缺少任何东西,可以有人帮助我。

运行手册类型:PowerShell的工作流运行手册

感谢, 马诺。

回答

0

将连接字符串超时设置为0只会影响连接超时,换句话说,您正在给您的过程建立与数据库的连接的无限时间。在没有看到您的代码的情况下,我怀疑问题在于您的命令超时 - 您存储的proc可能需要比默认的30s更长的时间才能完成。在执行存储的proc之前,您应该在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()