【发布时间】:2011-12-22 22:18:26
【问题描述】:
我正在使用 ASP.NET 和 NHibernate 运行一个网站。最近,该网站遇到了一个导致 SQL Server 超时问题的问题。我发现该问题与锁定数据库中的表的 NHibernate 查询有关。该网站将在 20 分钟后恢复,或者如果我手动强制终止数据库上的所有连接。
基本上,我一直在尝试查找导致此问题的查询,但不幸的是,在尝试使用 NHibernate 分析器查找查询数月后,我没有成功。该问题很少发生,通常每周仅 1 到 2 次,这使得找出导致锁定表的查询的原因变得更加困难。我有 .net 设置以在发生错误日志时向我发送错误日志,这有助于我避免在运行查询时站点被锁定,因为我能够强制所有 SQL 连接断开,然后站点恢复。
长话短说,我需要的是一种临时解决方案,它可以在我继续尝试查找错误查询时暂时适用于网站。我想要做的是将超时时间从 20 分钟更改为 2 - 5 分钟。这样,它会限制运行此错误查询时站点关闭的时间。考虑到错误查询每周只发生 1 到 2 次,我认为这将是有限的停机时间。
唯一的问题是我不知道这是 SQL Server 强加的,还是 .net 或 NHibernate 强加的。基本上我指的是在运行错误查询后连接最终断开的 20 分钟。有谁知道这 20 分钟是什么,可以在哪里设置?我倾向于这可能是某种 NHibernate 超时,但我不知道如何设置它。
【问题讨论】:
标签: c# .net sql-server nhibernate timeout