Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Относится к: SQL Server 2016 (13.x) и более поздние версии
Azure SQL Database
Azure SQL Managed Instance
SQL Database в Microsoft Fabric
Класс событий 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)