Condividi tramite


sys.dm_os_memory_brokers (Transact-SQL)

Si applica a: SQL Server Azure Synapse Analytics Analytics Platform System (PDW)

Le allocazioni interne a SQL Server usano gestione memoria di SQL Server. Tenere traccia della differenza tra i contatori della memoria di processo da sys.dm_os_process_memory e i contatori interni può indicare l'uso della memoria da componenti esterni nello spazio di memoria di SQL Server.

I broker di memoria distribuiscono equamente le allocazioni di memoria tra vari componenti all'interno di SQL Server, in base all'utilizzo corrente e previsto. I broker di memoria non eseguono allocazioni. Le registrano solo per calcolare la distribuzione.

Nella tabella seguente sono disponibili informazioni sui broker di memoria.

Nota

Per chiamare questa operazione da Azure Synapse Analytics o da Platform System (PDW), usare il nome sys.dm_pdw_nodes_os_memory_brokers. Questa sintassi non è supportata da pool SQL serverless in Azure Synapse Analytics.

Nome colonna Tipo di dati Descrizione
pool_id int ID del pool di risorse se associato a un pool di Resource Governor.
memory_broker_type nvarchar(60) Tipo di broker di memoria. In SQL Server sono attualmente disponibili tre tipi di broker di memoria, elencati di seguito con le relative descrizioni.

MEMORYBROKER_FOR_CACHE : memoria allocata per l'uso da parte di oggetti memorizzati nella cache (cache del pool di buffer non memorizzati nel buffer).

MEMORYBROKER_FOR_STEAL : memoria rubata dal pool di buffer. Questa memoria viene rilevata dagli impiegati di memoria e non è disponibile per il riutilizzo da parte di altri componenti fino a quando non viene liberata dal proprietario corrente.

MEMORYBROKER_FOR_RESERVE : memoria riservata per uso futuro eseguendo le richieste.
allocations_kb bigint Quantità di memoria, in kilobyte (KB), allocata a questo tipo di broker.
allocations_kb_per_sec bigint Velocità delle allocazioni di memoria in kilobyte (KB) al secondo. Il valore può essere negativo per le deallocazioni di memoria.
predicted_allocations_kb bigint Quantità stimata di memoria allocata dal broker. Si basa sul modello di utilizzo della memoria.
target_allocations_kb bigint Quantità consigliata di memoria allocata, in kilobyte (KB) basata sulle impostazioni correnti e sul modello di utilizzo della memoria. Il broker deve crescere o diminuire fino a questo numero.
future_allocations_kb bigint Numero previsto di allocazioni, in kilobyte (KB), che verranno effettuate nei prossimi secondi.
overall_limit_kb bigint Quantità massima di memoria, espressa in kilobyte (KB), che il broker può allocare.
last_notification nvarchar(60) Indicazione sull'utilizzo della memoria basato sulle impostazioni correnti e sul modello di utilizzo. I valori validi sono i seguenti:

grow

shrink

stabile
pdw_node_id int Si applica a: Azure Synapse Analytics, Piattaforma di analisi (PDW)

Identificatore del nodo in cui è attiva la distribuzione.

Autorizzazioni

In SQL Server e Istanza gestita di SQL è richiesta l'autorizzazione VIEW SERVER STATE.

Negli obiettivi del servizio Basic del Database SQL, S0 e S1 e per i database nei pool elastici, è richiesto l'account amministratore del server, l'account amministratore di Microsoft Entra o l’adesione nel ##MS_ServerStateReader## al ruolo del server. Per tutti gli altri obiettivi di servizio database SQL, è necessaria l'autorizzazione VIEW DATABASE STATE per il database o l'adesione ruolo del server ##MS_ServerStateReader##.

Autorizzazioni per SQL Server 2022 e versioni successive

È richiesta l'autorizzazione VIEW SERVER PERFORMANCE STATE per il server.

Vedi anche

Viste a gestione dinamica correlate al sistema operativo SQL Server (Transact-SQL)