Поделиться через


Класс событий Lock:Deadlock Chain

Область применения: SQL Server

Класс событий Lock:Deadlock Chain создается для каждого элемента взаимоблокировки.

Используйте класс событий Lock:Deadlock Chain для регистрации условий возникновения взаимоблокировок. Эти сведения помогают определить, насколько сильно взаимоблокировки влияют на производительность приложения и какие объекты при этом задействованы. Чтобы определить, можно ли свести к минимуму вероятность взаимоблокировок, проанализируйте в своем приложении код, изменяющий эти объекты.

Столбцы класса событий Lock:Deadlock Chain

Имя столбца данных Тип данных Description Идентификатор столбца Доступно для фильтрации
BinaryData Изображение Идентификатор ресурса блокировки. 2 Да
DatabaseID int Идентификатор базы данных, к которой относится ресурс. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. 3 Да
имя_базы_данных nvarchar Имя базы данных, к которой относится ресурс. 35 Да
EventClass int Тип события = 59. 27 No
EventSequence int Последовательность данного события в запросе. 51 No
EventSubClass int Тип подкласса события.

101 = блокировка типа ресурса

102 = обмен типа ресурса
21 Да
IntegerData int Номер взаимоблокировки. Отсчет номеров, назначаемых взаимоблокировкам, начинается с нуля при запуске сервера; каждая новая взаимоблокировка получает больший на единицу номер. 25 Да
IntegerData2 int Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. 55 Да
IsSystem int Указывает, произошло событие в системном или в пользовательском процессе. 1 = системный, 0 = пользовательский. 60 Да
LoginSid Изображение Идентификатор безопасности вошедшего в систему пользователя. Эти сведения можно найти в представлении каталога sys.server_principals. Значение идентификатора безопасности уникально для каждого имени входа на сервере. 41 Да
Режим int 0=NULL — совместим с любыми другими режимами блокировки (LCK_M_NL)

1 = блокировка стабильности схемы (LCK_M_SCH_S)

2 = блокировка изменения схемы (LCK_M_SCH_S)

3 = совмещаемая блокировка (LCK_M_S)

4 = блокировка обновления (LCK_M_U)

5 = монопольная блокировка (LCK_M_X)

6 = коллективная блокировка намерения (LCK_M_IS)

7 = блокировка намерения обновления (LCK_M_IU)

8 = монопольная блокировка намерения (LCK_M_IX)

9 = совмещаемая блокировка с намерением обновления (LCK_M_SIU)

10 = совмещаемая блокировка с намерением монопольного доступа (LCK_M_SIX)

11 = блокировка обновления с намерением монопольного доступа (LCK_M_UIX)

12 = блокировка массового обновления (LCK_M_BU)

13 = совмещаемая блокировка диапазона ключей — совмещаемая блокировка (LCK_M_RS_S)

14 = совмещаемая блокировка диапазона ключей — блокировка обновления (LCK_M_RS_U)

15 = блокировка вставки в диапазон ключей — блокировка NULL (LCK_M_RI_NL)

16 = блокировка вставки в диапазон ключей — совмещаемая блокировка (LCK_M_RI_S)

17 = блокировка вставки в диапазон ключей — блокировка обновления (LCK_M_RI_U)

18 = блокировка вставки в диапазон ключей — монопольная блокировка (LCK_M_RI_X)

19 = монопольная блокировка диапазона ключей — совмещаемая блокировка (LCK_M_RX_S)

20 = монопольная блокировка диапазона ключей — блокировка обновления (LCK_M_RX_U)

21 = монопольная блокировка диапазона ключей — монопольная блокировка (LCK_M_RX_X)
32 Да
ObjectID int Идентификатор заблокированного объекта, если он доступен и является применимым. 22 Да
ObjectID2 bigint Идентификатор связанного объекта или сущности, если он доступен и является применимым. 56 Да
OwnerID int 1 = TRANSACTION

2 = CURSOR

3 = SESSION

4 = SHARED_TRANSACTION_WORKSPACE

5 = EXCLUSIVE_TRANSACTION_WORKSPACE
58 Да
RequestID int Идентификатор запроса, содержащего инструкцию. 49 Да
ServerName nvarchar Имя отслеживаемого экземпляра SQL Server. 26 No
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Microsoft Windows. 64 Да
SPID int Идентификатор сеанса, в котором произошло событие. 12 Да
Время начала datetime Время начала события, если оно известно. 14 Да
TextData ntext Текстовое значение, зависящее от типа ресурса. 1 Да
TransactionID bigint Назначенный системой идентификатор транзакции. 4 Да
Тип int 1 = NULL_RESOURCE

2 = DATABASE

3 = FILE

5 = OBJECT

6 = PAGE

7 = KEY

8 = EXTENT

9 = RID

10 = APPLICATION

11 = METADATA

12 = AUTONAMEDB

13 = HOBT

14 = ALLOCATION_UNIT
57 Да

См. также

sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)