Condividi tramite


sys.dm_os_memory_clerks (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

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

Nota

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

Nome 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 i valori Null.
type 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 i 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 i valori Null.
memory_node_id smallint Specifica l'ID del nodo di memoria. Non ammette i valori NULL.
single_pages_kb bigint Si applica a: SQL Server 2008 (10.0.x) a SQL Server 2008 R2 (10.50.x). Per altre informazioni, vedere Modifiche alla gestione della memoria a partire da SQL Server 2012 (11.x).For more information, see Changes to Memory Management starting with SQL Server 2012 (11.x).
pages_kb bigint Si applica a: SQL Server 2012 (11.x) e versioni successive.

Specifica la quantità di memoria in kilobyte (KB) allocata in pagine per questo clerk di memoria. Non ammette i valori Null.
multi_pages_kb bigint Si applica a: SQL Server 2008 (10.0.x) a SQL Server 2008 R2 (10.50.x). Per altre informazioni, vedere Modifiche alla gestione della memoria a partire da SQL Server 2012 (11.x).For more information, see Changes to Memory Management starting with SQL Server 2012 (11.x).

Quantità di memoria di più pagine allocata, espressa in KB. Si tratta della quantità di memoria allocata tramite l'utilizzo dell'allocatore di più pagine dei nodi di memoria. Questa memoria viene allocata all'esterno del pool di buffer e utilizza l'allocatore virtuale dei nodi di memoria. Non ammette i valori Null.
virtual_memory_reserved_kb bigint Specifica la quantità di memoria virtuale riservata da un clerk di memoria. Non ammette i 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 i 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 i 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 i 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 i valori Null.
page_size_in_bytes bigint Specifica la granularità dell'allocazione di pagina per questo clerk di memoria. Non ammette i 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 usato in sys.dm_os_memory_objects per individuare gli oggetti di memoria associati a questo clerk. Non ammette i valori Null.
host_address varbinary(8) Specifica l'indirizzo di memoria dell'host per il clerk di memoria. Per altre informazioni, vedere sys.dm_os_hosts (Transact-SQL). I componenti, ad esempio 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 i valori Null.
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 è richiesta VIEW SERVER STATE l'autorizzazione.
In database SQL di Azure obiettivi di servizio Basic, S0 e S1 e per i database nei pool elastici, è necessario l'account amministratore del server o l'account amministratore di Microsoft Entra. Per tutti gli altri obiettivi di servizio database SQL di Azure, l'autorizzazione VIEW DATABASE STATE è necessaria nel database.

Autorizzazioni per SQL Server 2022 e versioni successive

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

Osservazioni:

La gestione memoria di SQL Server è costituita da 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 usati 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 clek 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. Spesso, i componenti creano i rispettivi impiegati al momento dell'avvio di SQL Server.

CACHESTORE e USERSTORE

CACHESTORE e USERSTORE sono impiegati di memoria, ma funzionano come cache effettive. In genere, le cache mantengono le allocazioni finché un criterio di rimozione della cache non rilascia tali allocazioni. Per evitare di crearlo nuovamente, un'allocazione memorizzata nella cache viene mantenuta nella cache il più a lungo possibile e viene in genere rimossa dalla cache quando è troppo vecchia per essere utile o quando è necessario lo spazio di memoria per le nuove informazioni (per altre informazioni, vedere sweep a mano dell'orologio). Si tratta di uno dei due controlli principali per le cache, ovvero il controllo della durata e il controllo della visibilità.

L'archivio cache e l'archivio utenti differiscono in base al modo in cui controllano la durata delle allocazioni. Nel caso di un archivio cache, la durata delle voci è completamente controllata dal framework di memorizzazione nella cache di SQLOS. Con l'archivio utenti, la durata delle voci è controllata solo parzialmente da un archivio. L'implementazione di ogni archivio utente può essere specifica per la natura delle allocazioni di memoria e pertanto gli archivi utente partecipano al controllo della durata delle voci.

Il controllo visibilità gestisce la visibilità di una voce. Una voce in una cache può esistere ma potrebbe non essere visibile. Ad esempio, se una voce della cache è contrassegnata solo per uso singolo, la voce non sarà visibile dopo l'uso. Inoltre, la voce della cache potrebbe essere contrassegnata come dirty; continuerà a trovarsi nella cache, ma non sarà visibile ad alcuna ricerca. Per entrambi gli archivi, la visibilità delle voci è controllata dal framework di memorizzazione nella cache.

Per altre informazioni, vedere Memorizzazione nella cache di SQLOS.

OBJECTSTORE

L'archivio oggetti è un pool semplice. Viene usato per memorizzare nella cache dati omogenei. Tutte le voci nei pool sono considerate uguali. Gli archivi oggetti implementano un limite massimo per controllare le dimensioni rispetto ad altre cache.

Per altre informazioni, vedere Memorizzazione nella cache di SQLOS.

Tipi

La tabella seguente elenca i tipi di clerk di memoria:

Tipo Descrizione
CACHESTORE_BROKERDSH Questo archivio cache viene usato per archiviare le allocazioni dalla cache delle intestazioni della finestra di dialogo di Service Broker
CACHESTORE_BROKERKEK Questo archivio cache viene usato per archiviare le allocazioni da Service Broker Key Exchange Key Cache
CACHESTORE_BROKERREADONLY Questo archivio cache viene usato per archiviare le allocazioni dalla cache di sola lettura di Service Broker
CACHESTORE_BROKERRSB Questo archivio cache viene usato per archiviare le allocazioni da Service Broker Remote Service Binding Cache.
CACHESTORE_BROKERTBLACS Questo archivio cache viene usato per archiviare le allocazioni da Service Broker per le strutture di accesso alla sicurezza.
CACHESTORE_BROKERTO Questo archivio cache viene usato per archiviare le allocazioni da Service Broker Transmission Object Cache
CACHESTORE_BROKERUSERCERTLOOKUP Questo archivio cache viene usato per archiviare le allocazioni dalla cache di ricerca dei certificati utente di Service Broker
CACHESTORE_COLUMNSTOREOBJECTPOOL Questo archivio cache viene usato per le allocazioni da indici columnstore per segmenti e dizionari
CACHESTORE_CONVPRI Questo archivio cache viene usato per archiviare le allocazioni da Service Broker per tenere traccia delle priorità delle conversazioni
CACHESTORE_EVENTS Questo archivio cache viene usato per archiviare le allocazioni tramite notifiche degli eventi di Service Broker
CACHESTORE_FULLTEXTSTOPLIST Questo clerk di memoria viene usato per le allocazioni da parte del motore full-text per la funzionalità dell'elenco di parole non significative .
CACHESTORE_NOTIF Questo archivio cache viene usato per le allocazioni tramite la funzionalità di notifica delle query
CACHESTORE_OBJCP Questo archivio cache viene usato per memorizzare nella cache gli oggetti con piani compilati (CP): stored procedure, funzioni, trigger. Per illustrare, dopo la creazione di un piano di query per una stored procedure, il relativo piano viene archiviato nella cache.
CACHESTORE_PHDR Questo archivio cache viene usato per la memorizzazione nella cache temporanea della memoria durante l'analisi di viste, vincoli e alberi di algebrizer predefiniti durante la compilazione di una query. Dopo l'analisi della query, la memoria deve essere rilasciata. Alcuni esempi includono: molte istruzioni in un batch: migliaia di inserimenti o aggiornamenti in un batch, un batch T-SQL che contiene una query generata dinamicamente di grandi dimensioni, un numero elevato di valori in una clausola IN.
CACHESTORE_QDSRUNTIMESTATS Questo archivio cache viene usato per memorizzare nella cache le statistiche di runtime di Query Store
CACHESTORE_SEARCHPROPERTYLIST Questo archivio cache viene usato per le allocazioni da parte del motore full-text per la cache dell'elenco delle proprietà
CACHESTORE_SEHOBTCOLUMNATTRIBUTE Questo archivio cache viene usato dal motore di archiviazione per la memorizzazione nella cache delle strutture di metadati delle colonne Heap o HoBT (HoBT).
CACHESTORE_SQLCP Questo archivio cache viene usato per memorizzare nella cache query ad hoc, istruzioni preparate e cursori lato server nella cache dei piani. Le query ad hoc sono in genere istruzioni T-SQL degli eventi di linguaggio inviate al server senza parametrizzazione esplicita. Le istruzioni preparate usano anche questo archivio cache: vengono inviate dall'applicazione usando chiamate API come SQLPrepare()/ SQLExecute (ODBC) o SqlCommand.Prepare/SqlCommand.ExecuteNonQuery (ADO.NET) e verranno visualizzate nel server come sp_prepare/sp_execute o sp_prepexec esecuzioni di routine di sistema. Inoltre, i cursori lato server utilizzerebbero da questo archivio cache (sp_cursoropen, sp_cursorfetch, sp_cursorclose).
CACHESTORE_STACKFRAMES Questo archivio cache viene usato per le allocazioni di strutture interne del sistema operativo SQL correlate agli stack frame.
CACHESTORE_SYSTEMROWSET Questo archivio cache viene usato per le allocazioni di strutture interne correlate alla registrazione e al ripristino delle transazioni.
CACHESTORE_TEMPTABLES Questo archivio cache viene usato per le allocazioni correlate alle tabelle temporanee e alla memorizzazione nella cache delle variabili di tabella, parte della cache dei piani.
CACHESTORE_VIEWDEFINITIONS Questo archivio cache viene usato per memorizzare nella cache le definizioni di visualizzazione nell'ambito dell'ottimizzazione delle query.
CACHESTORE_XML_SELECTIVE_DG Questo archivio cache viene usato per memorizzare nella cache strutture XML per l'elaborazione XML.
CACHESTORE_XMLDBATTRIBUTE Questo archivio cache viene usato per memorizzare nella cache strutture di attributi XML per attività XML come XQuery.
CACHESTORE_XMLDBELEMENT Questo archivio cache viene usato per memorizzare nella cache strutture di elementi XML per attività XML come XQuery.
CACHESTORE_XMLDBTYPE Questo archivio cache viene usato per memorizzare nella cache strutture XML per attività XML come XQuery.
CACHESTORE_XPROC Questo archivio cache viene usato per le strutture di memorizzazione nella cache delle stored procedure estese (Xprocs) nella cache dei piani.
MEMORYCLERK_BACKUP Questo clerk di memoria viene usato per varie allocazioni in base alla funzionalità di backup
MEMORYCLERK_BHF Questo clerk di memoria viene usato per le allocazioni per la gestione di oggetti binari di grandi dimensioni (BLOB) durante l'esecuzione di query (supporto dell'handle BLOB)
MEMORYCLERK_BITMAP Questo clerk di memoria viene usato per le allocazioni da parte della funzionalità del sistema operativo SQL per il filtro bitmap
MEMORYCLERK_CSILOBCOMPRESSION Questo clerk di memoria viene usato per le allocazioni dalla compressione blob (Binary Large Objects) dell'indice columnstore
MEMORYCLERK_DRTLHEAP Questo clerk di memoria viene usato per le allocazioni dalla funzionalità del sistema operativo SQL

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_EXPOOL Questo clerk di memoria viene usato per le allocazioni dalla funzionalità del sistema operativo SQL

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_EXTERNAL_EXTRACTORS Questo clerk di memoria viene usato per le allocazioni da parte del motore di esecuzione di query per le operazioni in modalità batch

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_FILETABLE Questo clerk di memoria viene usato per varie allocazioni in base alla funzionalità FileTables .
MEMORYCLERK_FSAGENT Questo clerk di memoria viene usato per varie allocazioni in base alla funzionalità FILESTREAM .
MEMORYCLERK_FSCHUNKER Questo clerk di memoria viene usato per varie allocazioni tramite la funzionalità FILESTREAM per la creazione di blocchi filestream.
MEMORYCLERK_FULLTEXT Questo clerk di memoria viene usato per le allocazioni da strutture del motore full-text.
MEMORYCLERK_FULLTEXT_SHMEM Questo clerk di memoria viene usato per le allocazioni da strutture del motore full-text correlate alla connettività memoria condivisa con il processo del daemon full-text.
MEMORYCLERK_HADR Questo clerk di memoria viene usato per le allocazioni di memoria da parte della funzionalità Always On
MEMORYCLERK_HOST Questo clerk di memoria viene usato per le allocazioni dalla funzionalità del sistema operativo SQL.
MEMORYCLERK_LANGSVC Questo clerk di memoria viene usato per le allocazioni da istruzioni E comandi SQL T-SQL (parser, algebrizer e così via)
MEMORYCLERK_LWC Questo clerk di memoria viene usato per le allocazioni da parte del motore di ricerca semantica full-text
MEMORYCLERK_POLYBASE Questo clerk di memoria tiene traccia delle allocazioni di memoria per la funzionalità PolyBase all'interno di SQL Server.
MEMORYCLERK_QSRANGEPREFETCH Questo clerk di memoria viene usato per le allocazioni durante l'esecuzione della query per il prelettura dell'intervallo di analisi delle query.
MEMORYCLERK_QUERYDISKSTORE Questo clerk di memoria viene usato dalle allocazioni di memoria di Query Store all'interno di SQL Server.
MEMORYCLERK_QUERYDISKSTORE_HASHMAP Questo clerk di memoria viene usato dalle allocazioni di memoria di Query Store all'interno di SQL Server.
MEMORYCLERK_QUERYDISKSTORE_STATS Questo clerk di memoria viene usato dalle allocazioni di memoria di Query Store all'interno di SQL Server.
MEMORYCLERK_QUERYPROFILE Questo clerk di memoria viene usato per durante l'avvio del server per abilitare la profilatura delle query

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_RTLHEAP Questo clerk di memoria viene usato per le allocazioni dalla funzionalità del sistema operativo SQL.

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_SECURITYAPI Questo clerk di memoria viene usato per le allocazioni dalla funzionalità del sistema operativo SQL.

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_SERIALIZATION Solo per uso interno.
MEMORYCLERK_SLOG Questo clerk di memoria viene usato per le allocazioni da sLog (flusso di log in memoria secondario) in Ripristino accelerato del database

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_SNI Questo clerk di memoria alloca memoria per i componenti SNI (Server Network Interface). SNI gestisce la connettività e i pacchetti TDS per SQL Server
MEMORYCLERK_SOSMEMMANAGER Questo clerk di memoria alloca le strutture per la pianificazione dei thread SQLOS (SOS) e la gestione di memoria e I/O.
MEMORYCLERK_SOSNODE Questo clerk di memoria alloca strutture per la pianificazione dei thread SQLOS (SOS) e la gestione di memoria e I/O.
MEMORYCLERK_SOSOS Questo clerk di memoria alloca le strutture per la pianificazione dei thread SQLOS (SOS) e la gestione di memoria e I/O.
MEMORYCLERK_SPATIAL Questo clerk di memoria viene usato dai componenti dati spaziali per le allocazioni di memoria.
MEMORYCLERK_SQLBUFFERPOOL Questo clerk di memoria tiene traccia dei consumer di memoria più grandi all'interno di SQL Server - dati e pagine di indice. Il pool di buffer o la cache dei dati mantiene i dati e le pagine di indice caricate in memoria per fornire accesso rapido ai dati. Per altre informazioni, vedere Gestione buffer.
MEMORYCLERK_SQLCLR Questo clerk di memoria viene usato per le allocazioni da SQLCLR.
MEMORYCLERK_SQLCLRASSEMBLY Questo clerk di memoria viene usato per le allocazioni per gli assembly SQLCLR .
MEMORYCLERK_SQLCONNECTIONPOOL Questo clerk di memoria memorizza nella cache le informazioni sul server di cui potrebbe essere necessaria l'applicazione client per tenere traccia del server. Un esempio è un'applicazione che crea handle di preparazione tramite sp_prepexecrpc. L'applicazione deve annullare correttamente la preparazione (chiudere) questi handle dopo l'esecuzione.
MEMORYCLERK_SQLEXTENSIBILITY Questo clerk di memoria viene usato per le allocazioni da parte di Extensibility Framework per l'esecuzione di script Python o R esterni in SQL Server.

Si applica a: SQL Server 2019 (15.x) e versioni successive
MEMORYCLERK_SQLGENERAL Questo clerk di memoria può essere usato da più consumer all'interno del motore SQL. Alcuni esempi includono la memoria di replica, il debug interno/diagnostica, alcune funzionalità di avvio di SQL Server, alcune funzionalità del parser SQL, la compilazione di indici di sistema, l'inizializzazione di oggetti memoria globale, la creazione di connessioni OLEDB all'interno del server e le query di Linked Server, la traccia del profiler lato server, la creazione di dati showplan, alcune funzionalità di sicurezza, la compilazione di colonne calcolate, la memoria per le strutture parallelisme, la memoria per alcune funzionalità XML
MEMORYCLERK_SQLHTTP Deprecato
MEMORYCLERK_SQLLOGPOOL Questo clerk di memoria viene usato dal pool di log di SQL Server. Il pool di log è una cache usata per migliorare le prestazioni durante la lettura del log delle transazioni. In particolare, migliora l'utilizzo della cache dei log durante più letture di log, riduce le letture dei log di I/O del disco e consente la condivisione delle analisi dei log. I consumer primari del pool di log sono Always On (Change Capture and Send), Redo Manager, Database Recovery - Analysis/Redo/Undo, Transaction Runtime Rollback, Replication/CDC, Backup/Restore.
MEMORYCLERK_SQLOPTIMIZER Questo clerk di memoria viene usato per le allocazioni di memoria durante diverse fasi di compilazione di una query. Alcuni usi includono l'ottimizzazione delle query, il gestore delle statistiche degli indici, la compilazione delle definizioni di visualizzazione, la generazione di istogrammi.
MEMORYCLERK_SQLQERESERVATIONS Questo clerk di memoria viene usato per le allocazioni di concessioni di memoria, ovvero memoria allocata alle query per eseguire operazioni di ordinamento e hash durante l'esecuzione della query. Per altre informazioni sulle prenotazioni di esecuzione delle query (concessioni di memoria), vedere questo blog
MEMORYCLERK_SQLQUERYCOMPILE Questo clerk di memoria viene usato da Query Optimizer per allocare memoria durante la compilazione delle query.
MEMORYCLERK_SQLQUERYEXEC Questo clerk di memoria viene usato per le allocazioni nelle aree seguenti: elaborazione in modalità Batch, esecuzione di query parallele, contesto di esecuzione di query, tassellazione dell'indice spaziale, ordinamento e operazioni hash (tabelle di ordinamento, tabelle hash), elaborazione DVM, aggiornamento dell'esecuzione delle statistiche
MEMORYCLERK_SQLQUERYPLAN Questo clerk di memoria viene usato per le allocazioni da parte della gestione delle pagine heap , allocazioni DBCC CHECKTABLE e allocazioni di stored procedure sp_cursor*
MEMORYCLERK_SQLSERVICEBROKER Questo clerk di memoria viene usato dalle allocazioni di memoria di SQL Server Service Broker .
MEMORYCLERK_SQLSERVICEBROKERTRANSPORT Questo clerk di memoria viene usato dalle allocazioni di memoria di trasporto di SQL Server Service Broker .
MEMORYCLERK_SQLSLO_OPERATIONS Questo clerk di memoria viene usato per raccogliere statistiche sulle prestazioni

Si applica a: Database SQL di Azure
MEMORYCLERK_SQLSOAP Deprecato
MEMORYCLERK_SQLSOAPSESSIONSTORE Deprecato
MEMORYCLERK_SQLSTORENG Questo clerk di memoria viene usato per le allocazioni da più componenti del motore di archiviazione. Esempi di componenti includono strutture per i file di database, gestione file di replica snapshot del database, monitoraggio deadlock, strutture DBTABLE, strutture di Gestione log, alcune strutture di controllo delle versioni di tempdb, alcune funzionalità di avvio del server, contesto di esecuzione per thread figlio in query parallele.
MEMORYCLERK_SQLTRACE Questo clerk di memoria viene usato per le allocazioni di memoria di traccia SQL lato server.
MEMORYCLERK_SQLUTILITIES Questo clerk di memoria può essere usato da più allocatori all'interno di SQL Server. Ad esempio backup e ripristino, log shipping, mirroring del database, comandi DBCC, codice BCP sul lato server, alcune operazioni di parallelismo delle query, buffer di analisi log.
MEMORYCLERK_SQLXML Questo clerk di memoria viene usato per le allocazioni di memoria durante l'esecuzione di operazioni XML.
MEMORYCLERK_SQLXP Questo clerk di memoria viene usato per le allocazioni di memoria quando si chiamano stored procedure estese di SQL Server.
MEMORYCLERK_SVL Questo clerk di memoria viene usato per le allocazioni di strutture interne del sistema operativo SQL
MEMORYCLERK_TEST Solo per uso interno.
MEMORYCLERK_UNITTEST Solo per uso interno.
MEMORYCLERK_WRITEPAGERECORDER Questo clerk di memoria viene usato per le allocazioni da Write Page Recorder.
MEMORYCLERK_XE Questo clerk di memoria viene usato per le allocazioni di memoria degli eventi estesi
MEMORYCLERK_XE_BUFFER Questo clerk di memoria viene usato per le allocazioni di memoria degli eventi estesi
MEMORYCLERK_XLOG_SERVER Questo clerk di memoria viene usato per le allocazioni di Xlog usate per la gestione dei file di log nel database di SQL Azure

Si applica a: Database SQL di Azure
MEMORYCLERK_XTP Questo clerk di memoria viene usato per le allocazioni di memoria OLTP in memoria.
OBJECTSTORE_LBSS Questo archivio oggetti viene usato per allocare lob temporanei, ovvero variabili, parametri e risultati intermedi per le espressioni. Un esempio che usa questo archivio è costituito da parametri con valori di tabella (TVP). Per altre informazioni sulle correzioni in questo spazio, vedere l'articolo della Knowledge Base 4468102 e l'articolo della Knowledge Base 4051359 .
OBJECTSTORE_LOCK_MANAGER Questo clerk di memoria tiene traccia delle allocazioni effettuate da Gestione blocchi in SQL Server.
OBJECTSTORE_SECAUDIT_EVENT_BUFFER Questo archivio oggetti viene usato per le allocazioni di memoria di SQL Server Audit .
OBJECTSTORE_SERVICE_BROKER Questo archivio oggetti viene usato da Service Broker
OBJECTSTORE_SNI_PACKET Questo archivio oggetti viene usato dai componenti SNI (Server Network Interface) che gestiscono la connettività
OBJECTSTORE_XACT_CACHE Questo archivio oggetti viene usato per memorizzare nella cache le informazioni sulle transazioni
USERSTORE_DBMETADATA Questo archivio oggetti viene usato per le strutture di metadati
USERSTORE_OBJPERM Questo archivio viene usato per le strutture che tengono traccia della sicurezza/autorizzazione degli oggetti
USERSTORE_QDSSTMT Questo archivio cache viene usato per memorizzare nella cache le istruzioni di Query Store
USERSTORE_SCHEMAMGR La cache di Gestione schemi archivia diversi tipi di informazioni sui metadati relativi agli oggetti di database in memoria (ad esempio tabelle). Un utente comune di questo archivio può essere il database tempdb con oggetti come tabelle, procedure temporanee, variabili di tabella, parametri con valori di tabella, tabelle di lavoro, file di lavoro, archivio versioni.
USERSTORE_SXC Questo archivio utente viene usato per le allocazioni per archiviare tutti i parametri RPC .
USERSTORE_TOKENPERM TokenAndPermUserStore è un singolo archivio utente SOS che tiene traccia delle voci di sicurezza per il contesto di sicurezza, l'accesso, l'utente, l'autorizzazione e il controllo. Per archiviare questi oggetti vengono allocate più tabelle hash.

Nota

La documentazione usa in genere il termine albero B in riferimento agli indici. Negli indici rowstore il motore di database implementa un albero B+. Ciò non si applica agli indici columnstore o agli indici nelle tabelle ottimizzate per la memoria. Per altre informazioni, vedere Architettura e guida per la progettazione degli indici SQL Server e Azure SQL.

Vedi anche

Viste a gestione dinamica correlate al sistema operativo 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)