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


Класс событий для Lock:Timeout

Класс событий Lock:Timeout указывает, что запрос на блокировку ресурса, например страницы, истекает, так как другая транзакция удерживает блокировку требуемого ресурса. Время ожидания определяется @@LOCK_TIMEOUT системной функцией и может быть задано с помощью инструкции SET LOCK_TIMEOUT.

Используйте класс событий Lock:Timeout для отслеживания возникновения условий тайм-аута. Эта информация полезна, чтобы определить, влияет ли время ожидания на производительность приложения и какие объекты участвуют. Вы можете проверить код приложения, который изменяет эти объекты, чтобы определить, можно ли вносить изменения, чтобы свести к минимуму время ожидания.

События lock:Timeout с длительностью 0 обычно являются результатом внутренних проверок блокировки и не обязательно указывают на проблему. Событие Lock:Timeout (timeout > 0) можно использовать для пропуска времени ожидания с длительностью 0.

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

Имя столбца данных Тип данных Описание Идентификатор столбца Доступно для фильтрации
ИмяПриложения nvarchar Имя клиентского приложения, создавшего подключение к экземпляру SQL Server. Этот столбец заполняется значениями, передаваемыми приложением, а не отображаемым именем программы. 10 Да
BinaryData image Блокировка идентификатора ресурса. 2 Да
ClientProcessID int Идентификатор, присвоенный главным компьютером сервера процессу, в котором работает клиентское приложение. Этот столбец данных заполняется в том случае, если клиент предоставляет идентификатор клиентского процесса. 9 Да
Идентификатор базы данных int Идентификатор базы данных, в которой произошел тайм-аут блокировки. Sql Server Profiler отображает имя базы данных, если столбец данных ServerName фиксируется в трассировке и сервер доступен. Определите значение для базы данных, используя функцию DB_ID. 3 Да
ИмяБазыДанных nvarchar Имя базы данных, в которой произошёл тайм-аут. 35 Да
Продолжительность bigint Время (в микросекундах) между временем выдачи запроса на блокировку и истечение времени ожидания блокировки. 13 (тринадцать) Да
Время завершения datetime Время окончания события. 15 Да
EventClass int Тип события = 27. двадцать семь нет
Последовательность событий int Последовательность заданного события в запросе. 51 нет
Идентификатор группы int Идентификатор группы рабочей нагрузки, в которой запускается событие трассировки SQL. 66 Да
Имя хоста nvarchar Имя компьютера, на котором выполняется клиентская программа. Этот столбец данных заполняется, если клиент предоставляет имя узла. Чтобы определить имя узла, используйте функцию HOST_NAME. 8 Да
IntegerData2 int Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. 55 Да
IsSystem int Указывает, произошло событие в системном или в пользовательском процессе. 1 = системный, 0 = пользовательский. шестьдесят Да
Имя пользователя для входа nvarchar Имя имени входа пользователя (имя для входа в систему безопасности SQL Server или учетные данные входа Microsoft Windows в формате DOMAIN\username). 11 Да
ЛогинСид image Идентификатор безопасности вошедшего в систему пользователя. Эти сведения можно найти в представлении каталога sys.server_principals. Значение идентификатора безопасности уникально для каждого имени входа на сервере. 41 Да
Режим int Результирующий режим после истечения времени ожидания.

0=NULL — совместим с всеми другими режимами блокировки (LCK_M_NL)

1=Блокировка стабильности схемы (LCK_M_SCH_S)

2=блокировка изменения схемы (LCK_M_SCH_M)

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 Да
Имя домена NT nvarchar Домен Windows, к которому принадлежит пользователь. 7 Да
NTИмяПользователя nvarchar Имя пользователя Windows. 6 Да
ИдентификаторОбъекта int Идентификатор объекта, время которого истекло, если он доступен и применимо. двадцать два Да
ObjectID2 bigint Идентификатор связанного объекта или сущности, если он доступен и применим. 56 Да
Идентификатор владельца int 1=ТРАНЗАКЦИЯ

2=КУРСОР

3=СЕССИЯ

4=SHARED_TRANSACTION_WORKSPACE

5=ЭКСКЛЮЗИВНОЕ_ТРАНЗАКЦИОННОЕ_РАБОЧЕЕ_ПРОСТРАНСТВО
58 Да
RequestID int Идентификатор запроса, содержащего инструкцию. 49 Да
Имя сервера nvarchar Имя отслеживаемого экземпляра SQL Server. 26 нет
SessionLoginName nvarchar Имя входа пользователя, создавшего этот сеанс. Например, если вы подключаетесь к SQL Server с помощью Login1 и выполняете инструкцию login2, SessionLoginName показывает Login1; в то время как LoginName отображает Login2. В этом столбце отображаются имена входа SQL Server и Windows. 64 Да
СПИД int Идентификатор сеанса, в котором произошло событие. 12 Да
Время начала datetime Время начала события, если оно известно. 14 Да
Текстовые данные ntext Текстовое значение зависит от типа блокировки, полученного при истечении времени ожидания. 1 Да
TransactionID bigint Назначенный системой идентификатор транзакции. 4 Да
Тип int 1=NULL_RESOURCE

2=БАЗА ДАННЫХ

3=ФАЙЛ

5=ОБЪЕКТ

6=СТРАНИЦА

7=КЛЮЧ

8=объем

9=RID

10=ПРИЛОЖЕНИЕ

11=МЕТАДАННЫЕ

12=AUTONAMEDB

13=HOBT

14=ЕДИНИЦА_РАСПРЕДЕЛЕНИЯ
57 Да

См. также

sp_trace_setevent (Transact-SQL)
Класс событий Lock:Timeout (timeout > 0)
sys.dm_tran_locks (Transact-SQL)