Submit a ticketCall us
Home > Success Center > Database Performance Analyzer (DPA) > DPA shows deadlocks without a deadlock victim

DPA shows deadlocks without a deadlock victim

Updated: December 13, 2017

Overview

DPA has a tab that can be turned on to track deadlocks on SQL server. It has been observed where under some conditions the deadlock information will show a deadlock that has no victim. Queries that show this behavior will usually show several locks and all from the same SPID. This can be an example of "Intra-Query Parallel Thread Deadlocks".

This article will not go into solving these deadlocks but, rather just try to explain why DPA might show this data from SQL server and show where in DPA you can set options to either collect this type of deadlock or not collect it. 

Environment

  • SQL server 
  • DPA versions

Cause 

The deadlock graph for these will most often have "exchange event" or "threadpool"  as the lock type. This is a parallel query blocking internal to its own threads. 

Resolution

  1. Solving the deadlock like this is outside of the scope of DPA support. If the customer does not want to see this type of Deadlock visibility in DPA they can set an option in the advanced options.
  2. The change can be system-wide or on an instance by instance option. This is found in Options -> administration tab -> advanced options -> System options click the support options checkbox look for "DEADLOCK_POLL_NO_VICTIM_COLLECTION_ENABLED" and set to false
  3. To change at the instance level the setting is Options -> administration tab -> advanced options -> DB instance options -> click the support options checkbox -> Pull the instance you want to change from the drop-down menu look for "DEADLOCK_POLL_NO_VICTIM_COLLECTION_ENABLED" 

 

 

 

 

Last modified

Tags

This page has no custom tags.

Classifications

Public