Skip to main content
sys.dm_exec_query_resource_semaphores (Transact-SQL)
 

ПРИМЕНЯЕТСЯ К: даSQL Server (начиная с 2008) даБаза данных SQL Azure даХранилище данных SQL Azure даParallel Data Warehouse

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

  • Запрошенный выделенной памяти должно быть меньше 5 МБ

  • Стоимость запроса должно быть меньше 3 стоимости единицы измерения

System_CAPS_ICON_note.jpg Примечание


Вызывать его из Хранилище данных SQL Azure или Параллельное хранилище данных, используйте имя sys.dm_pdw_nodes_exec_query_resource_semaphores.

Имя столбцаТип данныхDescription
resource_semaphore_idsmallintНеуникальный идентификатор семафора ресурса. 0 для обычного семафора ресурса и 1 для семафора ресурса малого запроса.
target_memory_kbbigintПредоставляет использование назначения в килобайтах.
max_target_memory_kbbigintМаксимально возможное назначение в килобайтах. Значение NULL для семафора ресурса малого запроса.
total_memory_kbbigintОбъем памяти, занимаемый семафором ресурса в килобайтах. Если система испытывает нехватку памяти или принудительный минимальный объем памяти выделяется часто, это значение может быть больше, чем target_memory_kb или max_target_memory_kb значения. Общий объем памяти — это сумма объемов доступной и выделенной памяти.
available_memory_kbbigintОбъем памяти, доступный для нового выделения в килобайтах.
granted_memory_kbbigintОбщий объем выделенной памяти.
used_memory_kbbigintФизически используемая часть объема выделенной памяти в килобайтах.
grantee_countintКоличество активных запросов, необходимых для выделения.
waiter_countintКоличество запросов, ожидающих предоставлений, которые будут удовлетворены.
timeout_error_countbigintОбщее количество ошибок времени ожидания с момента запуска сервера. Значение NULL для семафора ресурса малого запроса.
forced_grant_countbigintОбщее количество минимальных принудительных предоставлений памяти с момента запуска сервера. Значение NULL для семафора ресурса малого запроса.
pool_idintИдентификатор пула ресурсов, к которому принадлежит данный семафор ресурса.
pdw_node_idintПрименяется к: Хранилище данных SQL Azure,Параллельное хранилище данных

Идентификатор узла, который это распределение.

На SQL Server требуется разрешение VIEW SERVER STATE на сервере.

На База данных SQL уровней Premium необходимо разрешение VIEW DATABASE STATE в базе данных. На База данных SQL уровней Standard и Basic требуется База данных SQL учетная запись администратора.

Запросы, использующие динамические административные представления, которые содержат предложение ORDER BY или статистические функции, могут увеличить потребление памяти и таким образом устранить неполадки.

Используйте sys.dm_exec_query_resource_semaphores для устранения неполадок, но не включайте его в приложениях, которые будут использоваться в будущих версиях SQL Server.

Регулятор ресурсов позволяет администратору базы данных распределять ресурсы сервера между пулами ресурсов, используя до 64 пулов. В SQL Server 2012 и более поздних версиях каждый пул ведет себя как небольшой независимый экземпляр сервера и требует двух семафоров.

Динамические административные представления и функции (Transact-SQL), связанные с выполнением
sys.dm_exec_query_memory_grants (Transact-SQL)