sys.dm_exec_query_resource_semaphores (Transact-SQL)
Возвращает сведения о текущем состоянии семафора запроса-ресурса. Представление sys.dm_exec_query_resource_semaphores содержит общее состояние памяти при выполнении запроса и позволяет определить, доступен ли системе необходимый объем памяти. Данное представление дополняет сведения о памяти, полученные из представления sys.dm_os_memory_clerks для получения полной картины состояния памяти сервера. Представление sys.dm_exec_query_resource_semaphores возвращает одну строку для обычного семафора ресурса, а другую — для семафора ресурса малого запроса.
Имя столбца |
Тип данных |
Описание |
---|---|---|
resource_semaphore_id |
smallint |
Неуникальный идентификатор семафора ресурса. 0 для обычного семафора ресурса и 1 для семафора ресурса малого запроса. |
target_memory_kb |
bigint |
Предоставляет использование назначения в килобайтах. |
max_target_memory_kb |
bigint |
Максимально возможное назначение в килобайтах. Значение NULL для семафора ресурса малого запроса. |
total_memory_kb |
bigint |
Объем памяти, занимаемый семафором ресурса в килобайтах. Если система ограничена объемом памяти или принудительный минимальный объем памяти выделяется часто, данное значение может быть больше, чем значения target_memory_kb или max_target_memory_kb. Общий объем памяти — это сумма объемов доступной и выделенной памяти. |
available_memory_kb |
bigint |
Объем памяти, доступный для нового выделения в килобайтах. |
granted_memory_kb |
bigint |
Общий объем выделенной памяти. |
used_memory_kb |
bigint |
Физически используемая часть объема выделенной памяти в килобайтах. |
grantee_count |
int |
Количество активных запросов, необходимых для выделения. |
waiter_count |
int |
Количество запросов, ожидающих предоставлений, которые будут удовлетворены. |
timeout_error_count |
bigint |
Общее количество ошибок времени ожидания с момента запуска сервера. Значение NULL для семафора ресурса малого запроса. |
forced_grant_count |
bigint |
Общее количество минимальных принудительных предоставлений памяти с момента запуска сервера. Значение NULL для семафора ресурса малого запроса. |
pool_id |
int |
Идентификатор пула ресурсов, к которому принадлежит данный семафор ресурса. |
Разрешения
Требуется разрешение VIEW SERVER STATE на сервере.
Замечания
Запросы, использующие динамические административные представления, которые содержат предложение ORDER BY или статистические функции, могут увеличить потребление памяти и таким образом устранить неполадки.
Используйте представление sys.dm_exec_query_resource_semaphores для устранения неполадок, но не включайте его в приложение, которое будет использоваться в будущих версиях SQL Server.
Регулятор ресурсов позволяет администратору базы данных распределять ресурсы сервера между пулами ресурсов, используя максимально до 64 пулов. В SQL Server 2012 каждый пул ведет себя как небольшой независимый экземпляр сервера и требует двух семафоров.
См. также
Справочник
Динамические административные представления и функции, связанные с выполнением (Transact-SQL)