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


sys.dm_exec_query_resource_semaphores (Transact-SQL)

Возвращает сведения о текущем состоянии семафора запроса-ресурса в SQL Server. Представление sys.dm_exec_query_resource_semaphores содержит общее состояние памяти при выполнении запроса и позволяет определить, доступен ли системе необходимый объем памяти. Данное представление дополняет сведения о памяти, полученные из представления sys.dm_os_memory_clerks для получения полной картины состояния памяти сервера. Представление sys.dm_exec_query_resource_semaphores возвращает одну строку для обычного семафора ресурса, а другую — для семафора ресурса малого запроса.

Применимо для следующих объектов: SQL Server (начиная с SQL Server 2008 до текущей версии).

Имя столбца

Тип данных

Описание

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)

sys.dm_exec_query_memory_grants (Transact-SQL)