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


Класс событий 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)