Compartilhar via


sys.dm_os_memory_brokers (Transact-SQL)

Aplica-se a: SQL Server Azure Synapse Analytics Analytics Platform System (PDW)

As alocações internas do SQL Server usam o gerenciador de memória do SQL Server. Controlar a diferença entre contadores de memória de processo de sys.dm_os_process_memory e contadores internos pode indicar o uso de memória de componentes externos no espaço de memória do SQL Server.

Os agentes de memória distribuem de forma justa as alocações de memória entre vários componentes no SQL Server, com base no uso atual e projetado. Eles não executam alocações. Só controlam alocações para computar a distribuição.

A tabela a seguir fornece informações sobre agentes de memória.

Observação

Para chamar isso do Azure Synapse Analytics ou do PDW (Analytics Platform System), use o nome sys.dm_pdw_nodes_os_memory_brokers. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Descrição
pool_id int ID do pool de recursos caso seja associado a um pool do Administrador de recursos.
memory_broker_type nvarchar(60) Tipo de agente de memória. Atualmente, há três tipos de agentes de memória no SQL Server, listados abaixo com suas descrições.

MEMORYBROKER_FOR_CACHE : Memória alocada para uso por objetos armazenados em cache (não cache do pool de buffers).

MEMORYBROKER_FOR_STEAL : Memória roubada do pool de buffers. Essa memória é rastreada por administradores de memória e não está disponível para reutilização por outros componentes até que seja liberada pelo proprietário atual.

MEMORYBROKER_FOR_RESERVE : Memória reservada para uso futuro por solicitações em execução no momento.
allocations_kb bigint Quantidade de memória, em quilobytes (KB), alocada a este tipo de agente.
allocations_kb_per_sec bigint Taxa de alocações de memória em quilobytes (KB) por segundo. Esse valor pode ser negativo para desalocações de memória.
predicted_allocations_kb bigint Quantidade prevista de memória alocada pelo agente. Tem como base o padrão de uso da memória.
target_allocations_kb bigint Quantidade recomendada de memória alocada, em quilobytes (KB), com base nas configurações atuais e no padrão de uso da memória. Esse agente deve aumentar ou diminuir em relação a esse número.
future_allocations_kb bigint Número projetado de alocações, em quilobytes (KB), que serão feitas nos próximos segundos.
overall_limit_kb bigint Quantidade máxima de memória, em KB (quilobytes), que o agente pode alocar.
last_notification nvarchar(60) Recomendação de uso de memória com base nas configurações atuais e no padrão de uso. Estes são os valores válidos:

grow

shrink

estável
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que essa distribuição está ativada.

Permissões

No SQL Server e na Instância Gerenciada de SQL, requer a permissão VIEW SERVER STATE.

Nos objetivos de serviço do Banco de Dados SQL Básico, S0 e S1 e para bancos de dados em pools elásticos, é necessário ter a conta do administrador do servidor, a conta do administrador do Microsoft Entra ou a associação à ##MS_ServerStateReader## função de servidor. Em todos os outros objetivos de serviço do Banco de Dados SQL, a permissão VIEW DATABASE STATE no banco de dados ou a associação à função de servidor ##MS_ServerStateReader## são necessárias.

Permissões do SQL Server 2022 e posteriores

É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Confira também

Exibições de gerenciamento dinâmico relacionadas ao sistema operacional do SQL Server (Transact-SQL)