Класс событий Lock:Deadlock Chain
Класс событий Lock:Deadlock Chain создается для каждого элемента взаимоблокировки.
Используйте класс событий Lock:Deadlock Chain для регистрации условий возникновения взаимоблокировок. Эти сведения помогают определить, насколько сильно взаимоблокировки влияют на быстродействие приложения и какие объекты при этом задействованы. Чтобы определить, можно ли свести к минимуму вероятность взаимоблокировок, проанализируйте в своем приложении код, изменяющий эти объекты.
Столбцы класса событий Lock:Deadlock Chain
Имя столбца данных | Тип данных | Описание | Идентификатор столбца | Фильтрация |
---|---|---|---|---|
BinaryData |
image |
Идентификатор блокируемого ресурса. |
2 |
Да |
DatabaseID |
int |
Идентификатор базы данных, к которой относится ресурс. Приложение SQL Server Profiler отображает имя базы данных, если столбец данных ServerName был захвачен в трассировке и сервер доступен. Определить это значение для базы данных можно при помощи функции DB_ID. |
3 |
Да |
DatabaseName |
nvarchar |
Имя базы данных, к которой относится ресурс. |
35 |
Да |
EventClass |
int |
Тип события = 59. |
27 |
Нет |
EventSequence |
int |
Порядковый номер данного события в запросе. |
51 |
Нет |
EventSubClass |
int |
Тип подкласса события. 101 = блокировка типа ресурса 102 = обмен типа ресурса |
21 |
Да |
IntegerData |
int |
Номер взаимоблокировки. Отсчет номеров, назначаемых взаимоблокировкам, начинается с нуля при запуске сервера; каждая новая взаимоблокировка получает больший на единицу номер. |
25 |
Да |
IntegerData2 |
int |
Зарезервировано для использования в будущем. |
55 |
Да |
IsSystem |
int |
Указывает, произошло событие в системном или в пользовательском процессе: 1 = системный, 0 = пользовательский. |
60 |
Да |
LoginSid |
image |
Идентификатор безопасности вошедшего в систему пользователя. Эти сведения можно найти в таблице syslogins базы данных master. Значение идентификатора безопасности уникально для каждого имени входа на сервере. |
41 |
Да |
Mode |
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 |
Нет |
SessionLoginName |
nvarchar |
Имя входа пользователя, создавшего этот сеанс. Например подключение к SQL Server по имени Имя_входа1 и выполненеи инструкции под именем Имя_входа2 SessionLoginName содержит значение «Имя_входа1», а LoginName содержит значение «Имя_входа2». В этом столбце отображаются имена входа и SQL Server, и Microsoft Windows. |
64 |
Да |
SPID |
int |
Идентификатор сеанса, в котором произошло событие. |
12 |
Да |
StartTime |
datetime |
Время начала события, если оно известно. |
14 |
Да |
TextData |
ntext |
Текстовое значение, зависящее от типа ресурса. |
1 |
Да |
TransactionID |
bigint |
Назначенный системой идентификатор транзакции. |
4 |
Да |
Type |
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 |
Да |
См. также
Основные понятия
Блокировка в компоненте Database Engine
Совместимость блокировок (компонент Database Engine)
Другие ресурсы
Мониторинг событий
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks