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


sys.dm_exec_query_resource_semaphores (Transact-SQL)

Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)

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

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

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

Примечание.

Чтобы вызвать это из Azure Synapse Analytics или Analytics Platform System (PDW), используйте имя sys.dm_pdw_nodes_exec_query_resource_semaphores. Этот синтаксис не поддерживается бессерверным пулом SQL в Azure Synapse Analytics.

Имя столбца Тип данных Description
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 Идентификатор пула ресурсов, к которому принадлежит данный семафор ресурса.
pdw_node_id int Область применения: Azure Synapse Analytics, Analytics Platform System (PDW)

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

Разрешения

На SQL Server и управляемом экземпляре SQL необходимо разрешение VIEW SERVER STATE.

Для целей службы База данных SQL Basic, S0 и S1, а также для баз данных в эластичных пулах, учетной записи администратора сервера, учетной записи администратора Microsoft Entra или членства в ##MS_ServerStateReader## роли сервера требуется. Для всех остальных целей обслуживания базы данных SQL требуется разрешение VIEW DATABASE STATE в базе данных или членство в роли сервера ##MS_ServerStateReader##.

Разрешения для SQL Server 2022 и более поздних версий

Требуется разрешение VIEW SERVER PERFORMANCE STATE на сервере.

Замечания

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

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

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

См. также

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