SqlCommand.ComandTimeout无效

时间:2018-09-12 15:13:42

标签: sql-server command command-timeout

我正在使用我的SqlCommand的CommandTimeout属性来执行存储过程。

    using (SqlCommand command = new SqlCommand("_UpdateWorldeaseIDs", SqlC_SSuite))
    {
        command.CommandType = CommandType.StoredProcedure;
        command.CommandTimeout = 600;
        int rowsAffected = command.ExecuteNonQuery();
        logger.log($": Rows affected = {rowsAffected}.", Log4NetExtension.Level.Info);
    }

代码非常简单。该代码用于不指定CommandTimeout,因此将使用默认值30秒。看来此过程可能会(并非总是)花费超过30秒的时间,因此我们将其显着提高到600秒,并假设没有足够的时间。

奇怪的是,今天早晨,我们又收到了一封自动通过的失败电子邮件,内容为

  

“超时已到期。在完成以下操作之前已超时   操作或服务器没有响应。”

我检查了日志,以了解“过程开始”和“过程失败”日志之间经过了多少时间,基本上是30秒。下图显示了命令执行开始后约30秒,它失败了。

Timeout image

如果有人对可能发生的事情有任何建议,我将不胜感激。我确实尝试通读了大多数类似的SO问题和MSDN论坛,但到目前为止都无济于事。

谢谢。

0 个答案:

没有答案