SQL Server用户会话超时?

时间:2011-05-30 18:46:08

标签: sql sql-server tsql sql-server-2008

我使用窗口应用程序,我希望在用户会话超时后触发触发器,

如何使用SQ L server 2008检测用户是否中止或其会话超时?

1 个答案:

答案 0 :(得分:2)

SQL Server永远不会超时会话或请求。针对SQL Server发出的查询可能会持续数小时,甚至几天不间断运行。您可能会错误地认为针对SQL Server的查询超时并因为ADO.Net客户端选择在30秒后中止查询而中止,因为这是SqlCommand.CommandTimeout的默认值:

  

等待时间的秒数   命令执行。默认值为30   秒。

但是,中止查询是SQL Server未参与的客户端特定行为。其他客户端(例如JDBC)使用不同的策略。

同样,SQL Server会话永远不会超时,即使数天不使用也是如此。应用程序必须显式关闭其会话终止的连接。虽然确实存在断开会话的管理方式(KILL命令),但除了极端的最后一次测量管理操作之外,永远不会使用这些方法。

所以好消息是你不需要做任何事情,你要求的东西不存在,或者不应该开始做。