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


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

События класса Lock:Deadlock создаются при отмене попытки получить блокировку, приводящую к взаимоблокировке и выбранную сервером в качестве жертвы.

Класс событий Lock:Deadlock предназначен для отслеживания возникновения взаимоблокировок и объектов, которые в них участвуют. Эти сведения предназначены для определения степени влияния взаимоблокировок на производительность приложения. Они позволяют просмотреть код приложения и изменить его так, чтобы минимизировать взаимоблокировки.

Столбцы данных класса событий Lock:Deadlock

Имя столбца данных Тип данных Описание Идентификатор столбца Фильтруемый

ApplicationName

nvarchar

Имя клиентского приложения, создавшего соединение с экземпляром SQL Server. Этот столбец заполняется значениями, передаваемыми приложением, а не отображаемым именем программы.

10

Да

BinaryData

image

Идентификатор ресурса блокировки.

2

Да

ClientProcessID

int

Идентификатор, присвоенный сервером процессу, в котором работает клиентское приложение. Этот столбец данных заполняется в том случае, если клиент предоставляет идентификатор клиентского процесса.

9

Да

DatabaseID

int

Идентификатор базы данных, в которой запрашивается блокировка. Приложение SQL Server Profiler отображает имя базы данных, если столбец данных ServerName захватывается при трассировке и этот сервер доступен. Значение для базы данных определяется с помощью функции DB_ID.

3

Да

DatabaseName

nvarchar

Имя базы данных, в которой запрашивается блокировка.

35

Да

Duration

bigint

Время (в микросекундах) с момента выдачи запроса на блокировку до момента возникновения взаимоблокировки.

13

Да

EndTime

datetime

Время окончания взаимоблокировки.

15

Да

EventClass

int

Тип события = 25.

27

Нет

EventSequence

int

Порядковый номер данного события в запросе.

51

Нет

HostName

nvarchar

Имя компьютера, на котором выполняется клиентская программа. Этот столбец данных заполняется в том случае, если клиент предоставляет имя узла. Чтобы определить имя узла, используйте функцию HOST_NAME.

8

Да

IntegerData

int

Номер взаимоблокировки. Номера назначаются начиная от 0 с момента запуска сервера и для каждой взаимоблокировки увеличиваются на единицу.

25

Да

IntegerData2

int

Зарезервировано для использования в будущем.

55

Да

IsSystem

int

Указывает, в каком процессе произошло событие, в системном или в пользовательском. 1 = системный, 0 = пользовательский.

60

Да

LoginName

nvarchar

Имя входа пользователя (или имя входа безопасности SQL Server, или учетные данные для входа Microsoft Windows в формате ДОМЕН\имя_пользователя).

11

Да

LoginSid

image

Идентификационный номер в системе безопасности (SID) вошедшего в систему пользователя. Сведения об этом можно найти в таблице 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

Да

NTDomainName

nvarchar

Домен Windows, к которому принадлежит пользователь.

7

Да

NTUserName

nvarchar

Имя пользователя Windows.

6

Да

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, так и в 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

Справка и поддержка

Получение помощи по SQL Server 2005