Класс событий Lock:Timeout
Область применения: SQL Server
Класс событий Lock:Timeout указывает на то, что запрос на захват некоторого ресурса, например страницы, превысил время ожидания, поскольку данный ресурс был захвачен в блокирующем режиме другой транзакцией. Время ожидания определяется системной функцией @@LOCK_TIMEOUT и может быть задано инструкцией SET LOCK_TIMEOUT.
Класс событий Lock:Timeout используется для мониторинга выполнения условия истечения времени ожидания. Эти сведения полезны для определения влияния времени ожидания на производительность приложения, а также состава задействованных объектов. Можно просмотреть код приложения, изменяющий эти объекты, и определить возможные изменения для минимизации времени ожидания.
События Lock:Timeout с длительностью 0 обычно являются результатом внутренних блокировок зондов и не обязательно указывают на проблему. Событие Lock:Timeout (timeout > 0) можно использовать для пропуска времени ожидания с длительностью 0.
Столбцы данных класса событий Lock:Timeout
Имя столбца данных | Тип данных | Description | Идентификатор столбца | Доступно для фильтрации |
---|---|---|---|---|
ApplicationName | nvarchar | Имя клиентского приложения, создавшего подключение к экземпляру SQL Server. Этот столбец заполняется значениями, передаваемыми приложением, а не отображаемым именем программы. | 10 | Да |
BinaryData | Изображение | Идентификатор ресурса блокировки. | 2 | Да |
ClientProcessID | int | Идентификатор, присвоенный главным компьютером сервера процессу, в котором работает клиентское приложение. Этот столбец данных заполняется в том случае, если клиент предоставляет идентификатор клиентского процесса. | 9 | Да |
DatabaseID | int | Идентификатор базы данных, в которой истекло время ожидания блокировки. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. | 3 | Да |
имя_базы_данных | nvarchar | Имя базы данных, в которой истекло время ожидания. | 35 | Да |
Duration | bigint | Промежуток времени в микросекундах между моментом запроса на блокировку и истечением времени блокировки. | 13 | Да |
EndTime | datetime | Время окончания события. | 15 | Да |
EventClass | int | Тип события = 27. | 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 или учетные данные входа Microsoft 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 | Текстовое поле, зависящее от типа блокировки, произошедшей при истечении времени ожидания. | 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)
Класс событий Lock:Timeout (timeout > 0)
sys.dm_tran_locks (Transact-SQL)