Tracking stray connections using profiler. Times
when this can come into play is in multithreaded apps, or apps where
you may be supporting simultanious users like in an ASP.NET
application.
Generally any time you are asking resources from the server it should be using the Try... Catch... Finally pattern for allocating server resources and
releasing them as soon as you know you can do without them. (Nod to Andy Rich on Deterministic Finalization)
One thing that is going to help with this however is to set the appname in your connection string (Application Name={1};) for filtering the Profiler
results.
So here is a Profiler trace useful for keeping an eye logins, logouts and stored procs executed inbetween:
Download: deepdark.net_Connection_Monitor_20060112.zip