SQL Profiler cant catch Deadlock Graph Event

I am trying to resolve deadlocks. My application receives locks all the time when more than 10 users are working at the same time. I tried with the SQL profiler and cannot understand.

The thing is, in SQL Profiler I checked the use of Deadlock Graph Event. But when I run the trace, the event was never logged. I see that there are many deadlocks and deadlock chains, but not a single “Deadlock Schedule”. Please advise. thanks for the help

+4
source share
2 answers

You should only have Locks-> Deadlock graph if you want to see only the Deadlock graph event.

+3
source

When starting, configure the filter for the database name or database identifier, the DeadlockGraph event will not be captured, even if you do not check the box "Exclude rows that do not check values."

If you filter, say, Duration or NTUserName that is not populated with DeadlockGraph, this event is enabled (until you filter for the database, that is.)

Similarly, if you add LockAcquired and filter for DatabaseName (not filled LockAcquired), the event is enabled.

So the problem is this exact combination.

See: https://connect.microsoft.com/SQLServer/feedback/details/240737/filtering-for-database-name-id-filters-out-deadlock-graph-when-it-shouldnt

+4
source

Source: https://habr.com/ru/post/1337335/


All Articles