sys.dm_os_memory_brokers (Transact-SQL)

Le allocazioni interne a SQL Server utilizzano il gestore della memoria di SQL Server. La registrazione della differenza tra i contatori di memoria di processo da sys.dm_os_process_memory e i contatori interni può indicare l'utilizzo della memoria da parte dei componenti esterni nello spazio in memoria di SQL Server.

I broker della memoria distribuiscono equamente le allocazioni di memoria tra i 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.

Nome colonna

Tipo di dati

Descrizione

memory_broker_type

nvarchar(60)

Tipo di broker di memoria. Esistono attualmente tre tipi di broker di memoria in SQL Server.

ValoreDescrizione
MEMORYBROKER_FOR_CACHELa memoria allocata per l'utilizzo da parte degli oggetti memorizzati nella cache.
MEMORYBROKER_FOR_STEALMemoria prelevata dal pool di buffer. Tale memoria non è disponibile per il riutilizzo da parte di altri componenti fino a che non viene liberata dal proprietario corrente.
MEMORYBROKER_FOR_RESERVEMemoria riservata per l'uso futuro da parte delle richieste attualmente in esecuzione.

allocations_kb

bigint

Quantità di memoria, in kilobyte (KB), allocata a questo tipo di broker.

allocations_per_sec

int

Attuale velocità di allocazione attribuita a questo broker.

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.

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

  • stable

pool_id

int

ID del pool di risorse se associato a un pool di Resource Governor.

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.

predicated_allocations_kb

bigint

Quantità stimata di memoria allocata dal broker. Si basa sul modello di utilizzo della memoria.

overall_limit_kb

bigint

Quantità massima di memoria, in kilobyte (KB), allocabile dal broker.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.