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


sys.dm_os_memory_brokers (Transact-SQL)

Область применения: SQL Server Azure Synapse Analytics Analytics Platform System (PDW)

Выделения, которые являются внутренними для SQL Server, используют диспетчер памяти SQL Server. Отслеживание разницы между счетчиками памяти процесса от sys.dm_os_process_memory и внутренних счетчиков может указывать на использование памяти из внешних компонентов в пространстве памяти SQL Server.

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

Сведения о брокерах памяти приведены в следующей таблице.

Примечание.

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

Имя столбца Тип данных Description
pool_id int Идентификатор пула ресурсов, если он связан с пулом регулятора ресурсов.
memory_broker_type nvarchar(60) Тип брокера памяти. В настоящее время в SQL Server есть три типа брокеров памяти, перечисленных ниже с их описанием.

MEMORYBROKER_FOR_CACHE: память, выделенная для использования кэшируемыми объектами (не кэш буферного пула).

MEMORYBROKER_FOR_STEAL: память, украденная из буферного пула. Эта память отслеживается клерками памяти и недоступна для повторного использования другими компонентами, пока она не освобождается текущим владельцем.

MEMORYBROKER_FOR_RESERVE: память, зарезервированная для дальнейшего использования в настоящее время выполнением запросов.
allocations_kb bigint Объем памяти, в килобайтах (КБ), выделенный для этого типа брокера.
allocations_kb_per_sec bigint Интенсивность операций выделения памяти, в килобайтах (КБ) в секунду. Это значение может быть отрицательным для операций освобождения выделенной памяти.
predicted_allocations_kb bigint Прогнозируемый объем выделенной памяти для брокера. Основывается на закономерности использования памяти.
target_allocations_kb bigint Рекомендуемый объем выделенной памяти, в килобайтах (КБ), основанный на текущих параметрах и закономерностях использования памяти. Этот брокер должен быть приведен к указанному объему путем сокращения или увеличения используемого им объема выделенной памяти.
future_allocations_kb bigint Прогнозируемое количество памяти, в килобайтах (КБ), которое будет выделено в течение следующих нескольких секунд.
overall_limit_kb bigint Максимальный объем памяти в килобайтах (КБ), который брокер может выделить.
last_notification nvarchar(60) Рекомендация по использованию памяти, основанная на текущих параметрах и закономерностях использования памяти. Допустимы следующие значения:

grow

shrink

stable
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 на сервере.

См. также

Динамические административные представления операционной системы SQL Server (Transact-SQL)