我们正准备将新系统推广到生产环境,并且正在遇到与SQL连接超时的问题。
该产品主要由SQL开发人员编写,不熟悉.NET的功能。我们发现的是,超时存储过程的复杂性非常高。许多事情发生,如决策,控制流程,并呼吁其他10个存储过程进行计算。
我的直觉是,需要将其重构为执行决策的.NET引擎,然后简化SQL语句以处理数据和数据质量。在提出这个论点时我需要帮助。 SQL Dev表示在生产中10分钟超时适用于此系统。
.NET设置了一个默认超时,这对于大多数情况来说是合理的...设置SQL连接超时的实际上限是多少?
答案 0 :(得分:0)
我认为你没有其他选择,除了增加超时,没有实际限制。我猜你没有时间用C#重写所有内容。唯一的问题是看到它是脆弱的系统,如果连接中断,你必须确保你的数据库保持有效状态。
答案 1 :(得分:0)
我相信你所说的不是SQLConnection超时而是SQLCommand超时, 这取决于你的申请。
如果你正在执行复杂的逻辑,那么有很长的时间是不切实际的,
答案 2 :(得分:0)
首先,在考虑将代码移入C#之前,我会检查存储过程和所有嵌套过程是否已正确优化。 SQL事件探查器,执行计划和统计信息都可用于诊断此事。
如果sql已经是最佳的,你可能需要考虑用户如何与网站交互,例如,可以安排/排队操作,以及用户在完成收集结果后再回来。
重写C#听起来像很多工作,你真的需要了解sql正在做什么以及如何重写它会有所帮助。