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


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

Класс событий Lock:Acquired указывает, что была получена блокировка для ресурса, например страницы данных.

Классы событий Lock:Acquired и Lock:Released можно применять для отслеживания блокировок объектов, типов блокировок и длительности их действия. Следует исследовать причины длительных захватов, так как они могут приводить к конфликтным ситуациям. Например, приложение может получать блокировку строк в таблице и затем ожидать ввода пользователя. Поскольку ввод данных пользователем может занять много времени, блокировка может помешать работать другим пользователям. В данном случае приложение необходимо перестроить таким образом, чтобы запросы на блокировку выполнялись только при необходимости и оно не ожидало ввода данных пользователем после запроса на блокировку.

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

Имя столбца данных

Тип данных

Описание

Идентификатор столбца

Фильтруемость

ApplicationName

nvarchar

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

10

Да

BigintData1

bigint

Идентификатор секции, если блокируемый ресурс секционирован.

52

Да

BinaryData

image

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

2

Да

ClientProcessID

int

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

9

Да

DatabaseID

int

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

3

Да

Duration

bigint

Длительность (в микросекундах) между выдачей запроса на блокировку и получением блокировки.

13

Да

EndTime

datetime

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

15

Да

Класс событий

int

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

27

Нет

EventSequence

int

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

51

Нет

GroupID

int

Идентификатор группы рабочей нагрузки, в которой запускается событие SQL Trace.

66

Да

HostName

nvarchar

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

8

Да

IntegerData2

int

Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется.

55

Да

IsSystem

int

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

60

Да

LoginName

nvarchar

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

11

Да

LoginSid

image

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

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 по имени Login1 и при выполнении инструкции под именем Login2, SessionLoginName будет содержать значение Login1, а LoginName — значение Login2. В этом столбце отображаются как имена входа SQL Server, так и имена входа Windows.

64

Да

SPID

int

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

12

Да

StartTime

datetime

Время начала события, если оно известно.

14

Да

TextData

ntext

Текстовое значение зависит от типа полученной блокировки. Это то же значение, что и в столбце resource_description в динамическом представлении управления sys.dm_tran_locks.

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 = HOBT

13 = ALLOCATION_UNIT

57

Да