Класс событий Lock:Acquired
Область применения: SQL Server
Класс событий Lock:Acquired указывает, что была получена блокировка для ресурса, например страницы данных.
Классы событий Lock:Acquired и Lock:Released можно применять для отслеживания блокировок объектов, типов блокировок и длительности их действия. Следует исследовать причины длительных захватов, так как они могут приводить к конфликтным ситуациям. Например, приложение может получать блокировку строк в таблице и затем ожидать ввода пользователя. Поскольку ввод данных пользователем может занять много времени, блокировка может помешать работать другим пользователям. В данном случае приложение необходимо перестроить таким образом, чтобы запросы на блокировку выполнялись только при необходимости и оно не ожидало ввода данных пользователем после запроса на блокировку.
Столбцы данных класса событий Lock:Acquired
Имя столбца данных | Тип данных | Description | Идентификатор столбца | Доступно для фильтрации |
---|---|---|---|---|
ApplicationName | nvarchar | Имя клиентского приложения, создавшего подключение к экземпляру Microsoft SQL Server. Этот столбец заполняется значениями, передаваемыми приложением, а не отображаемым именем программы. | 10 | Да |
BigintData1 | bigint | Идентификатор секции, если блокируемый ресурс секционирован. | 52 | Да |
BinaryData | Изображение | Идентификатор ресурса блокировки. | 2 | Да |
ClientProcessID | int | Идентификатор, присвоенный главным компьютером сервера процессу, в котором работает клиентское приложение. Этот столбец данных заполняется в том случае, если клиент предоставляет идентификатор клиентского процесса. | 9 | Да |
DatabaseID | int | Идентификатор базы данных, в которой запрашивается блокировка. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. | 3 | Да |
Duration | bigint | Длительность (в микросекундах) между выдачей запроса на блокировку и получением блокировки. | 13 | Да |
EndTime | datetime | Время окончания события. | 15 | Да |
EventClass | int | Тип события = 24. | 27 | No |
EventSequence | int | Последовательность данного события в запросе. | 51 | No |
GroupID | int | Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. | 66 | Да |
HostName | nvarchar | Имя компьютера, на котором выполняется клиентская программа. Этот столбец данных заполняется, если клиент предоставляет имя узла. Чтобы определить имя узла, используйте функцию HOST_NAME. | 8 | Да |
IntegerData2 | int | Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. | 55 | Да |
IsSystem | int | Указывает, произошло событие в системном или в пользовательском процессе. 1 = системный, 0 = пользовательский. | 60 | Да |
LoginName | nvarchar | Имя имени входа пользователя (имя входа безопасности SQL Server или учетные данные для входа Windows в формате DOMAIN\username). | 11 | Да |
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 | Да |
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 | No |
SessionLoginName | nvarchar | Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1 и LoginName показывает Login2. В этом столбце отображаются имена входа SQL Server и Windows. | 64 | Да |
SPID | int | Идентификатор сеанса, в котором произошло событие. | 12 | Да |
Время начала | 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 = AUTONAMEDB 13 = HOBT 14 = ALLOCATION_UNIT |
57 | Да |
См. также
Класс событий Lock:Released
sp_trace_setevent (Transact-SQL)
sys.dm_tran_locks (Transact-SQL)