有A,B 两个客户端,当A,B连上 SQL SERVER 服务器 C 以后,A突然发生故障(断电、网线拔下等),此时 SQL SERVER 服务器能立即感应到 A 断开吗?如果能感应,可以用哪些 SQL 语句可以得到结果?在 B客户端用哪些 SQL语句可以得出目前有哪些 客户端在线?注:通过 master.sysprocesses 表无法得到正确结果。当 A 突然发生故障而断掉时,过一段时间后此表才会更新。

解决方案 »

  1.   

    只有通过 master.sysprocesses 表。当然会有点延后(我算了一下大约5-8秒),很难做到实时。 
      

  2.   

    除了这个master.sysprocesses ,貌似别无他法。
      

  3.   

    只有通过 master.sysprocesses 表。当然会有点延后(我算了一下大约5-8秒),很难做到实时。
    ============================================================
    如果只有几秒那就可以了。但
    我在客户端禁用网络,延时大约是 3分钟。
      

  4.   

    如果 可以用 SQL语句 给每个 SPID 发送某些信息,把没有反应的客户端视做已经断开也行。不知道有没有这样的SQL语句?