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
Nella documentazione viene usato in modo generico il termine albero B in riferimento agli indici. Negli indici rowstore, il motore di database implementa un albero B+. Ciò non si applica a indici columnstore o a indici in 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)