sys.dm_exec_query_resource_semaphores
Возвращает сведения о текущем состоянии семафора запроса-ресурса. Представление sys.dm_exec_query_resource_semaphores выдает общее состояние памяти выполнения запроса и позволяет определить, может ли система получить доступ к необходимому объему памяти. Данное представление дополняет сведения о памяти, полученные от представления sys.dm_os_memory_clerks для получения полной картины состояния памяти сервера. Представление sys.dm_exec_query_resource_semaphores возвращает одну строку обычному семафору ресурса, а другую — семафору ресурса малого запроса.
Имя столбца |
Тип данных |
Описание |
---|---|---|
resource_semaphore_id |
smallint |
Неуникальный идентификатор семафора ресурса. 0 для обычного семафора ресурса и 1 для семафора ресурса малого запроса.
Примечание
Данный идентификатор уникален в более ранних версиях SQL Server, чем SQL Server 2008. Данное изменение может повлиять на отладку выполнения запроса. Дополнительные сведения см. в подразделе «Примечания» далее в этом разделе.
|
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.
Регулятор ресурсов позволяет администратору базы данных распределять ресурсы сервера между пулами ресурсов, используя максимально до 20 пулов. В SQL Server 2008 каждый пул ведет себя как небольшой независимый экземпляр сервера и требует двух семафоров. Число строк, возвращенных из представления sys.dm_exec_query_resource_semaphores, может быть в 20 раз выше числа строк, возвращенных SQL Server 2005.