c# - SQL 2005 随机连接超时/关于数据库超时的最佳实践

标签 c# .net sql-server sql-server-2005

我正在使用 ADO.Net SqlCommand 类型并将 CommandTimeout 设置为 30 秒。

我的问题是连接/命令不断超时导致未处理的异常导致我的系统崩溃!

我尝试检索的数据对系统至关重要——因此我想修复超时而不是添加异常处理重试逻辑。

所以我的问题是;您如何避免/修复数据库超时问题?

我不想将超时设置为大于 30 秒的值,因为我有时间关键型代码。

谢谢

最佳答案

  1. 处理异常,以免它们使您的系统崩溃
  2. 修复您的数据库调用,以免它们超时

上述两个问题都必须实现。数据库调用总是会抛出异常,无论您采取何种预防措施,因此您必须处理异常。

如果您的通话时间超过 30 秒,则意味着您要么进行大量处理,要么一直处于阻塞状态。您很可能一直被阻止。要减少阻塞,请减少锁定的范围和持续时间。对这样一个一般性问题给出更详细的回答意味着基本上要重申事务处理理论的所有原则......

关于c# - SQL 2005 随机连接超时/关于数据库超时的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1000567/

相关文章:

c# - 在 64 位机器上读取 Windows key 时出现问题

C# 交互式与立即窗口。差异、目的和用例

.net - 如何使用URL查询处理WCF-OData中的延续?

c# - 如何在 CaSTLe Windsor WcfClient 上设置超时属性

sql - 从 csv 文件批量插入 - 忽略有错误的行 - SQL Server

c# - 将 Microsoft.Graph 与控制台应用程序结合使用

c# - FileInfo 的空对象模式

.net - 为什么并发 GC 有时会导致 ExecutionEngineException(根据 MSDN)?

sql-server - 在 Sybase 中选择 EXISTS

sql-server - SQL Server 2005 - 使用前导零格式化十进制数(包括带符号的小数!)