sys.dm_tran_locks (Transact-SQL)
Возвращает сведения об активных в данный момент в SQL Server 2008 R2 ресурсах диспетчера блокировок. Каждая строка представляет текущий активный запрос диспетчеру блокировок о блокировке, которая была получена или находится в ожидании получения.
Столбцы в результирующем наборе разделяются на две группы: ресурс и запрос. Группа ресурсов описывает ресурсы, на которые был выполнен запрос блокировки, а группа запросов описывает запрос блокировки.
Имя столбца |
Тип данных |
Описание |
---|---|---|
resource_type |
nvarchar(60) |
Представляет тип ресурса. Значение может быть одним из следующих: DATABASE, FILE, OBJECT, PAGE, KEY, EXTENT, RID, APPLICATION, METADATA, HOBT или ALLOCATION_UNIT. |
resource_subtype |
nvarchar(60) |
Представляет подтип типа resource_type. Технически возможно получить блокировку подтипа без удерживания блокировки родительского типа, не разбитого на подтипы. Различные подтипы не конфликтуют между собой или с родительским типом, не разбитым на подтипы. Не у всех типов ресурсов имеются подтипы. |
resource_database_id |
int |
Идентификатор базы данных, в рамках которой находится ресурс. Все ресурсы, обрабатываемые диспетчером блокировок, находятся в рамках идентификатора базы данных. |
resource_description |
nvarchar(256) |
Описание ресурса, содержащее только те данные, которые недоступны из других столбцов источника. |
resource_associated_entity_id |
bigint |
Идентификатор сущности в базе данных, с которой связан ресурс. Это может быть идентификатор объекта, идентификатор Hobt или идентификатор единицы распределения в зависимости от типа ресурса. |
resource_lock_partition |
Int |
Идентификатор секционирования блокировки для ресурса с секционированными блокировками. Это значение для ресурса с несекционированными блокировками равно 0. |
request_mode |
nvarchar(60) |
Режим запроса. Режимом для предоставленных запросов является режим предоставления, для запросов в ожидании — запрашиваемый режим. |
request_type |
nvarchar(60) |
Тип запроса. Значение LOCK. |
request_status |
nvarchar(60) |
Текущее состояние запроса. Допустимые значения — GRANTED, CONVERT или WAIT. |
request_reference_count |
smallint |
Возвращает приблизительное количество случаев, когда этот ресурс был запрошен одним и тем же объектом. |
request_lifetime |
int |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
request_session_id |
int |
Идентификатор сеанса, которому в данный момент принадлежит этот запрос. Для распределенных и связанных транзакций идентификатор владеющего сеанса может меняться. Значение -2 показывает, что запрос относится к потерянной распределенной транзакции. Значение -3 показывает, что запрос принадлежит отложенной транзакции восстановления, например транзакции, для которой откат во время восстановления был отложен из-за невозможности успешно завершить операцию. |
request_exec_context_id |
int |
Идентификатор контекста выполнения процесса, которому в данный момент принадлежит запрос. |
request_request_id |
int |
Идентификатор запроса (идентификатор пакета) в процессе, которому в данный момент принадлежит запрос. Это значение меняется каждый раз при изменении в соединении режима MARS для транзакций. |
request_owner_type |
nvarchar(60) |
Тип сущности, которой принадлежит запрос. Запрос диспетчера блокировок может принадлежать нескольким разным объектам. Допустимыми значениями являются следующие. TRANSACTION = Запрос принадлежит транзакции. CURSOR = Запрос принадлежит курсору. SESSION = Запрос принадлежит сеансу пользователя. SHARED_TRANSACTION_WORKSPACE = Запрос принадлежит общей части рабочего пространства транзакции. EXCLUSIVE_TRANSACTION_WORKSPACE = Запрос принадлежит монопольной части рабочего пространства транзакции.
Примечание
Рабочие пространства предназначены для внутреннего использования; они хранят блокировки для прикрепленных сеансов.
|
request_owner_id |
bigint |
Идентификатор определенного владельца запроса. Это значение используется только для транзакций, для которых оно является идентификатором транзакции. |
request_owner_guid |
uniqueidentifier |
Идентификатор GUID определенного владельца запроса. Это значение используется только распределенной транзакцией, для которой оно является идентификатором GUID координатора MS DTC. |
request_owner_lockspace_id |
nvarchar(32) |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. Это значение представляет идентификатор заблокированного пространства запрашивающего объекта. Идентификатор заблокированного пространства определяет, совместимы ли друг с другом два запрашивающих объекта и можно ли им предоставить блокировки в режимах, которые в противном случае привели бы к конфликту. |
lock_owner_address |
varbinary(8) |
Адрес внутренней структуры данных в памяти, используемый для отслеживания этого запроса. Этот столбец может быть соединен со столбцом resource_address в представлении sys.dm_os_waiting_tasks. |
Разрешения
Необходимо разрешение VIEW SERVER STATE на сервере.
Замечания
Состояние предоставленного запроса показывает, что блокировка ресурса была предоставлена запрашивающему объекту. Ожидающий запрос обозначает, что запрос еще не был предоставлен. Следующий тип ожидающих запросов возвращается столбцом request_status.
Состояние преобразованного запроса означает, что запрашивающий объект получил запрос ресурса и в настоящий момент ожидает, пока будет предоставлено обновление исходного запроса.
Состояние ожидающего запроса означает, что к настоящему моменту запрашивающему объекту не был предоставлен запрос ресурса.
Поскольку представление sys.dm_tran_locks заполняется структурами данных внутреннего диспетчера блокировок, обслуживание этих данных не добавляет дополнительной нагрузки к обычной обработке данных. Для материализации представлений требуется доступ к внутренним структурам данных диспетчера блокировок. Это может в незначительной степени повлиять на обычную обработку на сервере. Это влияние должно быть незаметным и проявляться только в отношении часто используемых ресурсов. Поскольку данные этого представления соответствуют активному состоянию диспетчера блокировок, они в любое время могут измениться, а строки добавляются и удаляются по мере выдачи и отмены блокировок. Для этого представления нет данных предыстории.
Два запроса выполняются на одном и том же ресурсе только в том случае, когда все столбцы группы ресурса совпадают.
Управлять блокировкой операций считывания можно с помощью следующих средств.
SET TRANSACTION ISOLATION LEVEL для определения уровня блокировки сеанса. Дополнительные сведения см. в разделе SET TRANSACTION ISOLATION LEVEL (Transact-SQL).
Табличные подсказки блокировки для указания уровня блокировки для отдельной ссылки таблицы в предложении FROM. Синтаксис и ограничения см. в разделе Табличные подсказки (Transact-SQL).
В пределах одного сеанса ресурсу может быть предоставлено более одной блокировки. Разным объектам в пределах одного сеанса могут быть предоставлены блокировки на один и тот же ресурс; эти сведения отображаются представлением sys.dm_tran_locks в столбцах request_owner_type и request_owner_id. В случае существования нескольких экземпляров одного и того же типа request_owner_type столбец request_owner_id используется для различия экземпляров. В случае распределенных транзакций столбцы request_owner_type и request_owner_guid отображают различные сведения о сущности.
Например, сеанс S1 владеет совмещаемой блокировкой таблицы Table1, а транзакция Т1, запущенная в сеансе S1, также владеет совмещаемой блокировкой таблицы Table1. В этом случае столбец resource_description, возвращаемый представлением sys.dm_tran_locks, отображает два экземпляра для одного и того же ресурса. В столбце request_owner_type один экземпляр отображается как сеанс, второй — как транзакция. Кроме этого, столбец resource_owner_id будет содержать разные значения.
Несколько курсоров, существующих в одном сеансе, неразличимы и обрабатываются как одна сущность.
Дополнительные сведения о типах блокировок, используемых компонентом SQL Server Database Engine, см. в разделе Блокировка в компоненте Database Engine.
Распределенные транзакции, не связанные со значением идентификатора сеанса, являются потерянными, и им назначается значение идентификатора сеанса, равное -2. Дополнительные сведения см. в разделе KILL (Transact-SQL).
Подробности ресурса
В следующей таблице перечислены ресурсы, представленные в столбце resource_associated_entity_id.
Тип ресурса |
Описание ресурса |
Resource_associated_entity_id |
---|---|---|
DATABASE |
Представляет базу данных. |
Неприменимо |
FILE |
Представляет файл базы данных. Может быть файлом данных или журнала. |
Неприменимо |
OBJECT |
Представляет объект базы данных. Может быть таблицей данных, представлением, хранимой процедурой, расширенной хранимой процедурой или любым другим объектом, имеющим идентификатор объекта. |
Идентификатор объекта. |
PAGE |
Представляет отдельную страницу в файле данных. |
Идентификатор HoBt. Это значение соответствует представлению sys.partitions.hobt_id. Идентификатор HoBt не всегда доступен для ресурсов PAGE, поскольку в нем содержатся дополнительные данные, предоставляемые вызывающим участником, но не все вызывающие объекты способны предоставить эти данные. |
KEY |
Представляет строку в указателе. |
Идентификатор HoBt. Это значение соответствует представлению sys.partitions.hobt_id. |
EXTENT |
Представляет экстент файла данных. Экстент — это группа из восьми последовательных страниц. |
Неприменимо |
RID |
Представляет физическую строку в куче. |
Идентификатор HoBt. Это значение соответствует представлению sys.partitions.hobt_id. Идентификатор HoBt не всегда доступен для ресурсов RID, поскольку в нем содержатся дополнительные данные, предоставляемые вызывающим участником, но не все вызывающие объекты способны предоставить эти данные. |
APPLICATION |
Представляет определенный ресурс приложения. |
Неприменимо |
METADATA |
Представляет метаданные. |
Неприменимо |
HOBT |
Представляет кучу или сбалансированное дерево. Это основные структуры путей доступа. |
Идентификатор HoBt. Это значение соответствует представлению sys.partitions.hobt_id. |
ALLOCATION_UNIT |
Представляет набор связанных страниц, таких как секция индекса. Каждая единица распределения покрывает отдельную цепочку карты распределения индекса (IAM). |
Идентификатор единицы распределения. Это значение соответствует представлению sys.allocation_units.allocation_unit_id. |
В следующей таблице перечислены подтипы, связанные с типом каждого ресурса.
ResourceSubType |
Действия синхронизации |
---|---|
ALLOCATION_UNIT.BULK_OPERATION_PAGE |
Предварительно выделенные страницы, используемые для массовых операций. |
ALLOCATION_UNIT.PAGE_COUNT |
Статистика счетчика страниц для единиц распределения во время отложенных операций удаления. |
DATABASE.BULKOP_BACKUP_DB |
Создание резервных копий базы данных с помощью массовых операций. |
DATABASE.BULKOP_BACKUP_LOG |
Создание резервных копий журнала базы данных с помощью массовых операций. |
DATABASE.CHANGE_TRACKING_CLEANUP |
Задачи очистки отслеживания изменений. |
DATABASE.CT_DDL |
Операции DDL над отслеживанием изменений на уровне таблиц и базы данных. |
DATABASE.CONVERSATION_PRIORITY |
Операции приоритета диалогов компонента Service Broker, например CREATE BROKER PRIORITY. |
DATABASE.DDL |
Операции языка DDL, связанные с операциями над файловой группой, такими как удаление. |
DATABASE.ENCRYPTION_SCAN |
Синхронизация шифрования TDE. |
DATABASE.PLANGUIDE |
Синхронизация структуры плана. |
DATABASE.RESOURCE_GOVERNOR_DDL |
Операции языка DDL для операций регулятора ресурсов, например ALTER RESOURCE POOL. |
DATABASE.SHRINK |
Операции сжатия базы данных. |
DATABASE.STARTUP |
Синхронизация базы данных при запуске. |
FILE.SHRINK |
Операции сжатия файлов. |
HOBT.BULK_OPERATION |
Операции массовой загрузки, оптимизированные для кучи, с одновременным просмотром на следующих уровнях изоляции: моментальные снимки, незафиксированная операция чтения и зафиксированная операция чтения с использованием управления версиями строк. |
HOBT.INDEX_REORGANIZE |
Операции реорганизации кучи или индекса. |
OBJECT.COMPILE |
Компиляция хранимой процедуры. |
OBJECT.INDEX_OPERATION |
Операции с индексами. |
OBJECT.UPDSTATS |
Обновление статистики для таблицы. |
METADATA.ASSEMBLY |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ASSEMBLY_CLR_NAME |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ASSEMBLY_TOKEN |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ASYMMETRIC_KEY |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.AUDIT |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.AUDIT_ACTIONS |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.AUDIT_SPECIFICATION |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CERTIFICATE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CHILD_INSTANCE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.COMPRESSED_FRAGMENT |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSTATION_ENDPOINT_RECV |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSTATION_ENDPOINT_SEND |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSATION_GROUP |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSATION_PRIORITY |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CREDENTIAL |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CRYPTOGRAPHIC_PROVIDER |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DATA_SPACE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DATABASE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DATABASE_PRINCIPAL |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DB_MIRRORING_SESSION |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DB_MIRRORING_WITNESS |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DB_PRINCIPAL_SID |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ENDPOINT |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ENDPOINT_WEBMETHOD |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.EXPR_COLUMN |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.EXPR_HASH |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_CATALOG |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_INDEX |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_STOPLIST |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.INDEX_EXTENSION_SCHEME |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.INDEXSTATS |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.INSTANTIATED_TYPE_HASH |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.MESSAGE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.METADATA_CACHE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PARTITION_FUNCTION |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PASSWORD_POLICY |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PERMISSIONS |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PLAN_GUIDE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PLAN_GUIDE_HASH |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PLAN_GUIDE_SCOPE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.QNAME |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.QNAME_HASH |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.REMOTE_SERVICE_BINDING |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ROUTE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SCHEMA |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SECURITY_CACHE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SECURITY_DESCRIPTOR |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SEQUENCE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVER_EVENT_SESSIONS |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVER_PRINCIPAL |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE_BROKER_GUID |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE_CONTRACT |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE_MESSAGE_TYPE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.STATS |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SYMMETRIC_KEY |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.USER_TYPE |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.XML_COLLECTION |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.XML_COMPONENT |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.XML_INDEX_QNAME |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
В приведенной ниже таблице показан формат столбца resource_description для каждого типа ресурса.
Ресурс |
Формат |
Описание |
---|---|---|
DATABASE |
Неприменимо |
Идентификатор базы данных уже доступен в столбце resource_database_id. |
FILE |
<file_id> |
Идентификатор файла, представляемого данным ресурсом. |
OBJECT |
<object_id> |
Идентификатор объекта, представляемого данным ресурсом. Это может быть любой объект из списка sys.objects, а не только таблица. |
PAGE |
<file_id>:<page_in_file> |
Представляет файл и идентификатор страницы, представляемые данным ресурсом. |
KEY |
<hash_value> |
Представляет хэш ключевых столбцов из строки, представляемой данным ресурсом. |
EXTENT |
<file_id>:<page_in_files> |
Представляет файл и идентификатор экстента, представляемые данным ресурсом. Идентификатор экстента совпадает с идентификатором первой страницы этого экстента. |
RID |
<file_id>:<page_in_file>:<row_on_page> |
Представляет идентификатор страницы и идентификатор строки, представленной данным ресурсом. Обратите внимание на то, что, если идентификатор связанного объекта имеет значение 99, этот ресурс представляет одну из восьми областей памяти смешанных страниц первой IAM-страницы в цепочке IAM. |
APPLICATION |
<DbPrincipalId>:<до 32 символов>:(<hash_value>) |
Представляет идентификатор участника базы данных, используемого для определения области действия ресурса блокировки этого приложения. Также включает до 32 символов из строки ресурса, соответствующего ресурсу блокировок для этого приложения. В некоторых случаях из полной строки, больше не являющейся доступной, могут отображаться только 2 символа. Это происходит только во время восстановления базы данных для блокировок приложений, которые вызываются заново как часть процесса восстановления. Это хэш-значение представляет собой хэш-код полной строки ресурса, соответствующего ресурсу блокировки данного приложения. |
HOBT |
Неприменимо |
Идентификатор HoBt, включенный в качестве столбца resource_associated_entity_id. |
ALLOCATION_UNIT |
Неприменимо |
Идентификатор единицы распределения, включенный в качестве столбца resource_associated_entity_id. |
METADATA.ASSEMBLY |
assembly_id = A |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ASSEMBLY_CLR_NAME |
$qname_id = Q |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ASSEMBLY_TOKEN |
assembly_id = A, $token_id |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ASSYMMETRIC_KEY |
asymmetric_key_id = A |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.AUDIT |
audit_id = A |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.AUDIT_ACTIONS |
device_id = D, major_id = M |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.AUDIT_SPECIFICATION |
audit_specification_id = A |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CERTIFICATE |
certificate_id = C |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CHILD_INSTANCE |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.COMPRESSED_FRAGMENT |
compressed_fragment_id = C |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSTATION_ENDPOINT_RECV |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSTATION_ENDPOINT_SEND |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSATION_GROUP |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CONVERSATION_PRIORITY |
conversation_priority_id = C |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CREDENTIAL |
credential_id = C |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.CRYPTOGRAPHIC_PROVIDER |
provider_id = P |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DATA_SPACE |
data_space_id = D |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DATABASE |
database_id = D |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DATABASE_PRINCIPAL |
principal_id = P |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DB_MIRRORING_SESSION |
database_id = D |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DB_MIRRORING_WITNESS |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.DB_PRINCIPAL_SID |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ENDPOINT |
endpoint_id = E |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ENDPOINT_WEBMETHOD |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_CATALOG |
fulltext_catalog_id = F |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_INDEX |
object_id = O |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.EXPR_COLUMN |
object_id = O, column_id = C |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.EXPR_HASH |
object_id = O, $hash = H |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_CATALOG |
fulltext_catalog_id = F |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_INDEX |
object_id = O |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.FULLTEXT_STOPLIST |
fulltext_stoplist_id = F |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.INDEX_EXTENSION_SCHEME |
index_extension_id = I |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.INDEXSTATS |
object_id = O, index_id or stats_id = I |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.INSTANTIATED_TYPE_HASH |
user_type_id = U, hash = H |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.MESSAGE |
message_id = M |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.METADATA_CACHE |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PARTITION_FUNCTION |
function_id = F |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PASSWORD_POLICY |
principal_id = P |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PERMISSIONS |
class = C |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.PLAN_GUIDE |
plan_guide_id = P |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA. PLAN_GUIDE_HASH |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA. PLAN_GUIDE_SCOPE |
scope_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.QNAME |
$qname_id = Q |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.QNAME_HASH |
$qname_scope_id = Q, $qname_hash = H |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.REMOTE_SERVICE_BINDING |
remote_service_binding_id = R |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.ROUTE |
route_id = R |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SCHEMA |
schema_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SECURITY_CACHE |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SECURITY_DESCRIPTOR |
sd_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SEQUENCE |
$seq_type = S, object_id = O |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVER |
server_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVER_EVENT_SESSIONS |
event_session_id = E |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVER_PRINCIPAL |
principal_id = P |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE |
service_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE_BROKER_GUID |
$hash = H1:H2:H3 |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE_CONTRACT |
service_contract_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SERVICE_MESSAGE_TYPE |
message_type_id = M |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.STATS |
object_id = O, stats_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.SYMMETRIC_KEY |
symmetric_key_id = S |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.USER_TYPE |
user_type_id = U |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.XML_COLLECTION |
xml_collection_id = X |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.XML_COMPONENT |
xml_component_id = X |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
METADATA.XML_INDEX_QNAME |
object_id = O, $qname_id = Q |
Указано только в ознакомительных целях. Не поддерживается. Совместимость с будущими версиями не гарантируется. |
Примеры
А. Использование sys.dm_tran_locks с другими средствами
В следующем примере выполняется работа со сценарием, в котором операция обновления блокируется другой транзакцией. С помощью представления sys.dm_tran_locks и других средств можно получить сведения об источниках блокировки.
USE tempdb;
GO
-- Create test table and index.
CREATE TABLE t_lock
(c1 int, c2 int);
GO
CREATE INDEX t_lock_ci on t_lock(c1);
GO
-- Insert values into test table
INSERT INTO t_lock VALUES (1,1),(2,2),(3,3),(4,4),(5,5),(6,6);
GO
-- Session 1
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
BEGIN TRAN
SELECT c1
FROM t_lock
WITH(holdlock, rowlock);
-- Session 2
BEGIN TRAN
UPDATE t_lock SET c1 = 10;
Следующий запрос отображает сведения о блокировке. Значение для <dbid> может быть заменено database_id из представления sys.databases.
SELECT resource_type, resource_associated_entity_id,
request_status, request_mode,request_session_id,
resource_description
FROM sys.dm_tran_locks
WHERE resource_database_id = <dbid>;
Следующий запрос возвращает сведения об объекте с помощью значения resource_associated_entity_id из предыдущего запроса. Этот запрос должен быть выполнен, пока существует соединение с базой данных, содержащей объект.
SELECT object_name(object_id), partition_id, index_id, partition_number
hobt_id, rows
FROM sys.partitions
WHERE hobt_id=<resource_associated_entity_id>;
Следующий запрос отображает сведения о блокировках.
SELECT
t1.resource_type,
t1.resource_database_id,
t1.resource_associated_entity_id,
t1.request_mode,
t1.request_session_id,
t2.blocking_session_id
FROM sys.dm_tran_locks AS t1
INNER JOIN sys.dm_os_waiting_tasks AS t2
ON t1.lock_owner_address = t2.resource_address;
Освобождение ресурсов с помощью отката транзакций.
-- Session 1
ROLLBACK;
GO
-- Session 2
ROLLBACK;
GO
Б. Связывание данных о сеансе с потоками операционной системы
В следующем примере возвращаются данные, связывающие идентификатор сеанса с идентификатором потока Windows. Производительность потока можно отслеживать в системном мониторе Windows. Запрос не возвращает идентификаторы сеансов, которые в настоящий момент находятся в ждущем режиме.
SELECT STasks.session_id, SThreads.os_thread_id
FROM sys.dm_os_tasks AS STasks
INNER JOIN sys.dm_os_threads AS SThreads
ON STasks.worker_address = SThreads.worker_address
WHERE STasks.session_id IS NOT NULL
ORDER BY STasks.session_id;
GO