我使用窗口应用程序,我希望在用户会话超时后触发触发器,
如何使用SQ L server 2008检测用户是否中止或其会话超时?
答案 0 :(得分:2)
SQL Server永远不会超时会话或请求。针对SQL Server发出的查询可能会持续数小时,甚至几天不间断运行。您可能会错误地认为针对SQL Server的查询超时并因为ADO.Net客户端选择在30秒后中止查询而中止,因为这是SqlCommand.CommandTimeout
的默认值:
等待时间的秒数 命令执行。默认值为30 秒。
但是,中止查询是SQL Server未参与的客户端特定行为。其他客户端(例如JDBC)使用不同的策略。
同样,SQL Server会话永远不会超时,即使数天不使用也是如此。应用程序必须显式关闭其会话终止的连接。虽然确实存在断开会话的管理方式(KILL
命令),但除了极端的最后一次测量管理操作之外,永远不会使用这些方法。
所以好消息是你不需要做任何事情,你要求的东西不存在,或者不应该开始做。