I'm trying to find SQL statements that timed out using the SQL 2005 profiler. Is there a way to set such a filter?
In Profiler, you can add the event "Attention" under "Errors and Warnings". It's definition is
Collects all attention events, such as client interrupt request or when a client connection is broken.
As far as other errors (deadlocks, contraints, etc), try "Execution Warning" (reports warning that occurred during the execution of SQL statement or procedure) or "User Error Message" (the error message displayed to the user in the case of an error or exception).
Yes.
- Check "All Events"
- Go to the lock section
- Specify the "lock: Timeout" events
Now, this works with server side locks (@@LOCK_TIMEOUT <> 0). I don't know if a client side timeout will be trapped.
One option, if you know what your client configured timeouts are set to (ie. 30 seconds by default), you can set a filter on your trace to only collect events with a duration greater than or equal to your timeout (minus a second or two).
来源:https://stackoverflow.com/questions/279073/how-to-find-timed-out-statements-in-sql-2005-profiler