sys.dm_os_memory_clerks

Restituisce il set di tutti i clerk di memoria attivi nell'istanza di SQL Server.

Nome colonna Tipo di dati Descrizione

memory_clerk_address

varbinary(8)

Indirizzo di memoria univoco del clerk di memoria. Si tratta della colonna chiave primaria. Non supporta valori Null.

type

nvarchar(60)

Tipo di clerk di memoria. Ogni clerk è associato a un tipo specifico, ad esempio i clerk CLR MEMORYCLERK_SQLCLR. Non supporta valori Null.

name

nvarchar(256)

Nome assegnato internamente del clerk di memoria. Ogni componente può disporre di più clerk di memoria di un tipo specifico. Un componente può scegliere di utilizzare nomi specifici per identificare i clerk di memoria dello stesso tipo. Non supporta valori Null.

memory_node_id

smallint

ID del nodo di memoria. Non supporta valori Null.

single_pages_kb

bigint

Quantità, in kilobyte, della memoria a pagina singola allocata. Si tratta della quantità di memoria allocata tramite l'utilizzo dell'allocatore di pagine singole di un nodo di memoria. L'allocatore di pagine singole preleva le pagine direttamente dal pool di buffer. Non supporta valori Null.

multi_pages_kb

bigint

Quantità di memoria di pagine multiple allocata, espressa in KB. Si tratta della quantità di memoria allocata tramite l'utilizzo dell'allocatore di pagine multiple dei nodi di memoria. La memoria viene allocata esternamente al pool di buffer e sfrutta l'allocatore virtuale dei nodi di memoria. Non supporta valori Null.

virtual_memory_reserved_kb

bigint

Quantità di memoria virtuale riservata da un clerk di memoria. Si tratta della quantità di memoria riservata direttamente dal componente che utilizza il clerk. Nella maggior parte delle situazioni solo il pool di buffer riserva spazio degli indirizzi virtuali tramite l'utilizzo del relativo clerk di memoria. Non supporta valori Null.

virtual_memory_committed_kb

bigint

Quantità di memoria virtuale di cui un clerk di memoria ha eseguito il commit. Si tratta della quantità di memoria di cui il clerk ha eseguito il commit. La quantità di memoria di cui è stato eseguito il commit deve sempre essere minore della quantità di memoria riservata. Non supporta valori Null.

awe_allocated_kb

bigint

Quantità di memoria allocata dal clerk di memoria tramite le estensioni AWE (Address Windowing Extensions). In SQL Server solo i clerk del pool di buffer (MEMORYCLERK_SQLBUFFERPOOL) utilizzano questo meccanismo ed esclusivamente quando l'opzione AWE è attivata. Non supporta valori Null.

shared_memory_reserved_kb

bigint

Quantità di memoria condivisa riservata da un clerk di memoria. ovvero quantità di memoria riservata per l'utilizzo da parte della memoria condivisa e del mapping di file. Non supporta valori Null.

shared_memory_committed_kb

bigint

Quantità di memoria condivisa di cui il clerk di memoria ha eseguito il commit. Non supporta valori Null.

page_size_bytes

bigint

Dimensione della pagina che può essere allocata da un clerk di memoria. È supportata solo una dimensione, ovvero 8.192 byte. Non supporta valori Null.

page_allocator_address

varbinary(8)

Indirizzo dell'allocatore di pagine. Questo indirizzo è univoco per un clerk di memoria e può essere utilizzato in sys.dm_os_memory_objects per individuare gli oggetti memoria associati al clerk specifico. Non supporta valori Null.

host_address

varbinary(8)

Indirizzo di memoria dell'host per il clerk di memoria. Per ulteriori informazioni, vedere sys.dm_os_hosts. I componenti quali Microsoft SQL Native Client accedono alle risorse di memoria di SQL Server tramite l'interfaccia host.

0x00000000 = Il clerk di memoria appartiene a SQL Server.

Non supporta valori Null.

Autorizzazioni

È richiesta l'autorizzazione VIEW SERVER STATE nel server.

Osservazioni

Il gestore della memoria di SQL Server è strutturato in una gerarchia a tre livelli. I nodi di memoria occupano la parte inferiore della gerarchia. Il livello successivo è occupato da clerk di memoria, cache in memoria e pool di memoria. L'ultimo livello è costituito dagli oggetti memoria. Questi oggetti vengono in genere utilizzati per allocare memoria in un'istanza di SQL Server.

I nodi di memoria rendono disponibili l'interfaccia e l'implementazione per gli allocatori di livello inferiore. All'interno di SQL Server, solo i clerk di memoria hanno accesso ai nodi di memoria. I clerk di memoria accedono alle interfacce dei nodi di memoria per allocare memoria. I nodi di memoria tengono inoltre traccia della memoria allocata tramite l'utilizzo del clerk per la diagnostica. Ogni componente che alloca una quantità significativa di memoria deve creare un proprio clerk di memoria e allocare tutta la relativa memoria tramite l'utilizzo delle interfacce del clerk. I componenti creano i clerk corrispondenti all'avvio di SQL Server.

Vedere anche

Riferimento

Funzioni e viste a gestione dinamica
Viste a gestione dinamica relative al sistema operativo di SQL Server
sys.dm_os_sys_info
sys.dm_exec_query_memory_grants
sys.dm_exec_requests
sys.dm_exec_query_plan
sys.dm_exec_sql_text

Guida in linea e informazioni

Assistenza su SQL Server 2005