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
.
In database SQL obiettivi di servizio Basic, S0 e S1 e per i database nei pool elastici, è necessario l'account amministratore del server, l'account amministratore di Microsoft Entra o l'appartenenza al ruolo del ##MS_ServerStateReader##
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)