超时 SqlException 故障排除

2023-12-09

我有一些奇怪的行为,我无法弄清楚为什么会发生。我看到间歇性超时异常。我很确定它与体积有关,因为它在我们的开发环境中不可重现。作为一个创可贴解决方案,我尝试将 sql 命令超时增加到六十秒,但正如我发现的那样,这似乎没有帮助。这是奇怪的部分,当我检查失败进程的日志时,以下是开始时间和结束时间:

  • 2008年9月16日 16:21:49
  • 2008年9月16日 16:22:19

那么当我将命令超时设置为 60 时,怎么会在三十秒内超时呢?

仅供参考,这是抛出的异常:

System.Data.SqlClient.SqlException: Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)
   at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
   at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader()
   at SetClear.DataAccess.SqlHelper.ExecuteReader(CommandType commandType, String commandText, SqlParameter[] commandArgs)

SQL 命令超时是因为您使用的查询花费的时间比执行的时间长。在查询分析器或 Management Studio 中执行它,数据库中具有代表性的数据量,然后查看执行计划以找出缓慢的原因。

如果某件事占用了很大一部分时间并且被描述为“表扫描”或“聚集索引扫描”,请查看是否可以创建一个索引来将该操作转换为键查找(索引查找或聚集索引)寻找)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超时 SqlException 故障排除 的相关文章

随机推荐