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)