• There's a problem sometimes when DTC is involved (distributed transaction coordinator). The actual client goes away but SQL doesn't notice because DTS (which sits between the client and the server) is involved or the client incorrectly terminates the connection and DTC doesn't abort. There are articles on how to fix that and manually kill sessions. That's often due to buggy drivers or data access layers though (Java being a known culprit)

    I have never seen a problem (other than the DTC mentioned above) where a client machine went away for any reason and the connections were left open, transactions open and locks held.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass