sys.dm_os_memory_clerks (Transact-SQL)

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

Nome della colonna

Tipo di dati

Descrizione

memory_clerk_address

varbinary(8)

Specifica l'indirizzo di memoria univoco del clerk di memoria. Si tratta della colonna chiave primaria. Non ammette valori Null.

tipo

nvarchar(60)

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

name

nvarchar(256)

Specifica il nome assegnato internamente del clerk di memoria. Un 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 ammette valori Null.

memory_node_id

smallint

Specifica l'ID del nodo di memoria. Non ammette valori NULL.

pages_kb

bigint

Specifica la quantità di memoria in kilobyte (KB) allocata in pagine per questo clerk di memoria. Non ammette valori Null.

virtual_memory_reserved_kb

bigint

Specifica la quantità di memoria virtuale riservata da un clerk di memoria. Non ammette valori Null.

virtual_memory_committed_kb

bigint

Specifica la quantità di memoria virtuale di cui è stato eseguito il commit da un clerk di memoria. La quantità di memoria di cui è stato eseguito il commit deve sempre essere minore della quantità di memoria riservata. Non ammette valori Null.

awe_allocated_kb

bigint

Specifica la quantità di memoria in kilobyte (KB) bloccata nella memoria fisica di cui non è stato eseguito il page out dal sistema operativo. Non ammette valori Null.

shared_memory_reserved_kb

bigint

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

shared_memory_committed_kb

bigint

Specifica la quantità di memoria condivisa di cui il clerk di memoria ha eseguito il commit. Non ammette valori Null.

page_size_in_bytes

bigint

Specifica la granularità dell'allocazione di pagina per questo clerk di memoria. Non ammette valori Null.

page_allocator_address

varbinary(8)

Specifica l'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 ammette valori Null.

host_address

varbinary(8)

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

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

Non ammette 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 intermedio è occupato da clerk di memoria, cache in memoria e pool di memoria. Il primo 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 consentono spesso di creare i clerk corrispondenti all'avvio di SQL Server.

Supporto di compatibilità

In SQL Server 2012 sono state rinominate le seguenti colonne.

Nome precedente della colonna

Nuovo nome della colonna

single_pages_kb

pages_kb

In SQL Server 2012 è stata rimossa la colonna multi_pages_kb.

Vedere anche

Riferimento

Funzioni e viste a gestione dinamica (Transact-SQL)

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

sys.dm_os_sys_info (Transact-SQL)

sys.dm_exec_query_memory_grants (Transact-SQL)

sys.dm_exec_requests (Transact-SQL)

sys.dm_exec_query_plan (Transact-SQL)

sys.dm_exec_sql_text (Transact-SQL)