The sa_diagnostic_deadlock table is owned by the dbo user. When diagnostic tracing is enabled and is set to include tracing of deadlock events, a set of rows is inserted into this table every time a deadlock occurs (one row for each connection that was part of the deadlock is inserted). The set of all rows that comprise a single deadlock event is uniquely identified by a snapshot_id.
|Column name||Column type||Column constraint||Table constraints|
|logging_session_id||UNSIGNED INT||NOT NULL|
|snapshot_id||UNSIGNED BIGINT||NOT NULL|
|waiter||UNSIGNED INT||NOT NULL|
|owner||UNSIGNED INT||NOT NULL|
|rollback_operation_count||UNSIGNED INT||NOT NULL|
logging_session_id A number uniquely identifying the logging session during which the diagnostic information was gathered.
snapshot_id A number identifying which deadlock event this row is a part of. Note that this column has nothing to do with snapshot isolation.
snapshot_at The time at which the deadlock occurred.
waiter The connection number of the connection that this row represents.
request_id The ID of the request that this connection was processing when the deadlock occurred.
original_table_object_id The object ID of the table on which this connection was blocked.
rowid The record ID of the row on which this connection was blocked.
owner The connection number of the connection that locked the desired row.
rollback_operation_count The number of uncommitted operations.