Partage via


sys.dm_os_memory_clerks (Transact-SQL)

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Retourne l’ensemble de tous les commis de mémoire qui sont actuellement actifs dans l’instance de SQL Server.

Remarque

Pour appeler cela à partir d’Azure Synapse Analytics ou du système de plateforme d’analyse (PDW), utilisez le nom sys.dm_pdw_nodes_os_memory_clerks. Cette syntaxe n’est pas prise en charge par le pool SQL serverless dans Azure Synapse Analytics.

Nom de la colonne Type de données Description
memory_clerk_address varbinary(8) Spécifie l'adresse mémoire unique du régisseur de mémoire. Il s'agit de la colonne clé primaire. N'accepte pas la valeur NULL.
type nvarchar(60) Spécifie le type de régisseur de mémoire. Chaque régisseur de mémoire a un type spécifique, par exemple les régisseurs de mémoire CLR MEMORYCLERK_SQLCLR. N'accepte pas la valeur NULL.
nom nvarchar (256) Spécifie le nom affecté en interne au régisseur de mémoire. Un composant peut avoir plusieurs régisseurs de mémoire d'un type particulier. Un composant peut choisir d'utiliser des noms spécifiques pour identifier les régisseurs de mémoire du même type. N'accepte pas la valeur NULL.
memory_node_id smallint Spécifie l'identificateur du nœud de mémoire. N'accepte pas la valeur NULL.
single_pages_kb bigint S’applique à : SQL Server 2008 (10.0.x) à SQL Server 2008 R2 (10.50.x). Pour plus d’informations, consultez Modifications apportées à la gestion de la mémoire à partir de SQL Server 2012 (11.x).
pages_kb bigint S’applique à : SQL Server 2012 (11.x) et versions ultérieures.

Spécifie la quantité de mémoire de page allouée, en kilo-octets (Ko), pour ce régisseur de mémoire. N'accepte pas la valeur NULL.
multi_pages_kb bigint S’applique à : SQL Server 2008 (10.0.x) à SQL Server 2008 R2 (10.50.x). Pour plus d’informations, consultez Modifications apportées à la gestion de la mémoire à partir de SQL Server 2012 (11.x).

Quantité de mémoire multipage allouée, en Ko. Il s'agit de la quantité de mémoire allouée à l'aide de l'allocateur de pages multiples des nœuds de mémoire. Cette mémoire est allouée en dehors du pool de mémoires tampons ; elle tire parti de l'allocateur virtuel des nœuds mémoire. N'accepte pas la valeur NULL.
virtual_memory_reserved_kb bigint Spécifie la quantité de mémoire virtuelle qui est réservée par un régisseur de mémoire. N'accepte pas la valeur NULL.
virtual_memory_committed_kb bigint Spécifie la quantité de mémoire virtuelle qui est validée par un régisseur de mémoire. La quantité de mémoire validée doit toujours être inférieure à la quantité de mémoire réservée. N'accepte pas la valeur NULL.
awe_allocated_kb bigint Spécifie la quantité de mémoire, en kilo-octets (Ko), verrouillée en mémoire physique et non paginée par le système d'exploitation. N'accepte pas la valeur NULL.
shared_memory_reserved_kb bigint Spécifie la quantité de mémoire partagée qui est réservée par un régisseur de mémoire. Il s'agit de la quantité de mémoire réservée à l'usage de la mémoire partagée et du mappage de fichiers. N'accepte pas la valeur NULL.
shared_memory_committed_kb bigint Spécifie la quantité de mémoire partagée qui est validée par le régisseur de mémoire. N'accepte pas la valeur NULL.
page_size_in_bytes bigint Spécifie la granularité de l'allocation de page pour ce régisseur de mémoire. N'accepte pas la valeur NULL.
page_allocator_address varbinary(8) Spécifie l'adresse de l'allocateur de page mémoire. Cette adresse est unique pour un commis de mémoire et peut être utilisée dans sys.dm_os_memory_objects pour localiser des objets mémoire liés à ce commis. N'accepte pas la valeur NULL.
host_address varbinary(8) Spécifie l'adresse mémoire de l'hôte associé à ce régisseur de mémoire. Pour plus d’informations, consultez sys.dm_os_hosts (Transact-SQL). Les composants, tels que Microsoft SQL Server Native Client, accèdent aux ressources de mémoire SQL Server via l’interface hôte.

0x00000000 = Le commis à la mémoire appartient à SQL Server.

N'accepte pas la valeur NULL.
pdw_node_id int S’applique à : Azure Synapse Analytics, Analytics Platform System (PDW)

Identificateur du nœud sur lequel cette distribution est activée.

autorisations

Sur SQL Server, nécessite l’autorisation VIEW SERVER STATE.
Sur les objectifs de service Azure SQL Database Basic, S0 et S1, et pour les bases de données dans des pools élastiques, le compte d’administrateur du serveur ou le compte d’administrateur Microsoft Entra est requis. Sur tous les autres objectifs de service Azure SQL Database, l’autorisation VIEW DATABASE STATE est requise dans la base de données.

Autorisations pour SQL Server 2022 (et versions plus récentes)

Nécessite l’autorisation VIEW SERVER PERFORMANCE STATE sur le serveur.

Notes

Le gestionnaire de mémoire SQL Server se compose d’une hiérarchie à trois couches. La base de la hiérarchie est constituée par les nœuds de mémoire. Le niveau intermédiaire est constitué de régisseurs de mémoire, de caches mémoire et de pools de mémoires. Le niveau supérieur comprend les objets de mémoire. Ces objets sont utilisés pour allouer de la mémoire dans une instance de SQL Server.

Les nœuds de mémoire fournissent l'interface et assurent l'implémentation des allocateurs de niveau inférieur. À l’intérieur de SQL Server, seuls les commis de mémoire ont accès aux nœuds de mémoire. Les régisseurs de mémoire accèdent aux interfaces des nœuds de mémoire pour allouer de la mémoire. Les nœuds de mémoire assurent également le suivi de la mémoire allouée en utilisant le Clerk pour les diagnostics. Chaque composant allouant une quantité importante de mémoire doit créer son propre régisseur de mémoire et allouer toute sa mémoire à l'aide des interfaces du régisseur de mémoire. Fréquemment, les composants créent leurs commis correspondants au démarrage de SQL Server.

CACHESTORE et USERSTORE

CACHESTORE et USERSTORE sont des commis de mémoire, mais fonctionnent en tant que caches réels. En règle générale, les caches conservent les allocations jusqu’à ce qu’une stratégie de suppression de cache libère ces allocations. Pour éviter de le recréer, une allocation mise en cache est conservée dans le cache aussi longtemps que possible et est généralement supprimée du cache lorsqu’elle est trop ancienne pour être utile ou lorsque l’espace mémoire est nécessaire pour de nouvelles informations (pour plus d’informations, voir balayage à la main de l’horloge). Il s’agit de l’un des deux principaux contrôles pour les caches : le contrôle de durée de vie et le contrôle de visibilité.

Le magasin de cache et le magasin d’utilisateurs diffèrent de la façon dont ils contrôlent la durée de vie des allocations. Dans le cas d’un magasin de cache, la durée de vie des entrées est entièrement contrôlée par l’infrastructure de mise en cache de SQLOS. Avec le magasin d’utilisateurs, la durée de vie des entrées n’est contrôlée que partiellement par un magasin. L’implémentation de chaque magasin d’utilisateurs peut être spécifique à la nature des allocations de mémoire et, par conséquent, les magasins d’utilisateurs participent au contrôle de durée de vie de ses entrées.

Le contrôle de visibilité gère la visibilité d’une entrée. Une entrée dans un cache peut exister, mais peut ne pas être visible. Par exemple, si une entrée de cache est marquée pour une utilisation unique uniquement, l’entrée n’est pas visible après son utilisation. En outre, l’entrée du cache peut être marquée comme incorrecte ; il continuera de vivre dans le cache, mais ne sera visible pour aucune recherche. Pour les deux magasins, la visibilité des entrées est contrôlée par l’infrastructure de mise en cache.

Pour plus d’informations, consultez Mise en cache SQLOS.

OBJECTSTORE

Le magasin d’objets est un pool simple. Il est utilisé pour mettre en cache des données homogènes. Toutes les entrées des pools sont considérées égales. Les magasins d’objets implémentent une limite maximale pour contrôler la taille par rapport aux autres caches.

Pour plus d’informations, consultez Mise en cache SQLOS.

Types

Le tableau suivant répertorie les types de commis de mémoire :

Type Description
CACHESTORE_BROKERDSH Ce magasin de cache est utilisé pour stocker les allocations par le cache d’en-tête de sécurité de la boîte de dialogue Service Broker
CACHESTORE_BROKERKEK Ce magasin de cache est utilisé pour stocker les allocations par le cache de clés Exchange de clé Service Broker
CACHESTORE_BROKERREADONLY Ce magasin de cache est utilisé pour stocker les allocations par le cache en lecture seule Service Broker
CACHESTORE_BROKERRSB Ce magasin de cache est utilisé pour stocker les allocations par service Broker Remote Service Binding Cache.
CACHESTORE_BROKERTBLACS Ce magasin de cache est utilisé pour stocker les allocations par Service Broker pour les structures d’accès de sécurité.
CACHESTORE_BROKERTO Ce magasin de cache est utilisé pour stocker les allocations par service Broker Transmission Object Cache
CACHESTORE_BROKERUSERCERTLOOKUP Ce magasin de cache est utilisé pour stocker les allocations par le cache de recherche des certificats utilisateur Service Broker
CACHESTORE_COLUMNSTOREOBJECTPOOL Ce magasin de cache est utilisé pour les allocations par les index Columnstore pour les segments et les dictionnaires
CACHESTORE_CONVPRI Ce magasin de cache est utilisé pour stocker les allocations par Service Broker pour suivre les priorités des conversations
CACHESTORE_EVENTS Ce magasin de cache est utilisé pour stocker les allocations par les notifications d’événements Service Broker
CACHESTORE_FULLTEXTSTOPLIST Ce commis de mémoire est utilisé pour les allocations par le moteur de recherche en texte intégral pour les fonctionnalités de liste de mots vides.
CACHESTORE_NOTIF Ce magasin de cache est utilisé pour les allocations par la fonctionnalité Notification de requête
CACHESTORE_OBJCP Ce magasin de cache est utilisé pour mettre en cache des objets avec des plans compilés (CP) : procédures stockées, fonctions, déclencheurs. Pour illustrer, une fois qu’un plan de requête pour une procédure stockée est créé, son plan est stocké dans ce cache.
CACHESTORE_PHDR Ce magasin de cache est utilisé pour la mise en cache temporaire de la mémoire pendant l’analyse pour les vues, les contraintes et les arborescences d’algébrizers par défaut lors de la compilation d’une requête. Une fois la requête analysée, la mémoire doit être libérée. Voici quelques exemples : de nombreuses instructions d’un lot - des milliers d’insertions ou de mises à jour dans un lot, un lot T-SQL qui contient une requête générée dynamiquement, un grand nombre de valeurs dans une clause IN.
CACHESTORE_QDSRUNTIMESTATS Ce magasin de cache est utilisé pour mettre en cache Magasin des requêtes statistiques d’exécution
CACHESTORE_SEARCHPROPERTYLIST Ce magasin de cache est utilisé pour les allocations par le moteur de recherche en texte intégral pour le cache de liste de propriétés
CACHESTORE_SEHOBTCOLUMNATTRIBUTE Ce magasin de cache est utilisé par le moteur de stockage pour la mise en cache des structures de métadonnées de colonnes Heap ou B-Tree (HoBT).
CACHESTORE_SQLCP Ce magasin de cache est utilisé pour mettre en cache des requêtes ad hoc, des instructions préparées et des curseurs côté serveur dans le cache du plan. Les requêtes ad hoc sont généralement des instructions T-SQL en langage envoyées au serveur sans paramétrage explicite. Les instructions préparées utilisent également ce magasin de cache : elles sont envoyées par l’application à l’aide d’appels d’API tels que SQLPrepare()/ SQLExecute (ODBC) ou SqlCommand.Prepare/SqlCommand.ExecuteNonQuery (ADO.NET) et apparaissent sur le serveur en tant qu’sp_prepare sp_execute/ ou sp_prepexec exécutions de procédures système. En outre, les curseurs côté serveur consomment à partir de ce magasin de cache (sp_cursoropen, sp_cursorfetch, sp_cursorclose).
CACHESTORE_STACKFRAMES Ce magasin de cache est utilisé pour les allocations de structures de système d’exploitation SQL internes liées aux trames de pile.
CACHESTORE_SYSTEMROWSET Ce magasin de cache est utilisé pour les allocations de structures internes liées à la journalisation et à la récupération des transactions.
CACHESTORE_TEMPTABLES Ce magasin de cache est utilisé pour les allocations liées aux tables temporaires et à la mise en cache des variables de table - partie du cache de plan.
CACHESTORE_VIEWDEFINITIONS Ce magasin de cache est utilisé pour mettre en cache les définitions d’affichage dans le cadre de l’optimisation des requêtes.
CACHESTORE_XML_SELECTIVE_DG Ce magasin de cache est utilisé pour mettre en cache des structures XML pour le traitement XML.
CACHESTORE_XMLDBATTRIBUTE Ce magasin de cache est utilisé pour mettre en cache des structures d’attributs XML pour l’activité XML comme XQuery.
CACHESTORE_XMLDBELEMENT Ce magasin de cache est utilisé pour mettre en cache des structures d’éléments XML pour l’activité XML comme XQuery.
CACHESTORE_XMLDBTYPE Ce magasin de cache est utilisé pour mettre en cache des structures XML pour l’activité XML comme XQuery.
CACHESTORE_XPROC Ce magasin de cache est utilisé pour mettre en cache des structures pour les procédures stockées étendues (Xprocs) dans le cache de plan.
MEMORYCLERK_BACKUP Ce commis de mémoire est utilisé pour différentes allocations par fonctionnalité de sauvegarde
MEMORYCLERK_BHF Ce commis de mémoire est utilisé pour les allocations pour la gestion des objets volumineux binaires (BLOB) lors de l’exécution des requêtes (prise en charge du handle d’objet blob)
MEMORYCLERK_BITMAP Ce commis de mémoire est utilisé pour les allocations par la fonctionnalité de système d’exploitation SQL pour le filtrage bitmap
MEMORYCLERK_CSILOBCOMPRESSION Ce commis de mémoire est utilisé pour les allocations par la compression blob (Blob) columnstore Index
MEMORYCLERK_DRTLHEAP Ce commis de mémoire est utilisé pour les allocations par la fonctionnalité du système d’exploitation SQL

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_EXPOOL Ce commis de mémoire est utilisé pour les allocations par la fonctionnalité du système d’exploitation SQL

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_EXTERNAL_EXTRACTORS Ce commis mémoire est utilisé pour les allocations par le moteur d’exécution de requête pour les opérations en mode batch

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_FILETABLE Ce commis de mémoire est utilisé pour différentes allocations par la fonctionnalité FileTables .
MEMORYCLERK_FSAGENT Ce commis de mémoire est utilisé pour différentes allocations par la fonctionnalité FILESTREAM .
MEMORYCLERK_FSCHUNKER Ce commis de mémoire est utilisé pour différentes allocations par la fonctionnalité FILESTREAM pour la création de blocs de flux de fichiers.
MEMORYCLERK_FULLTEXT Ce commis de mémoire est utilisé pour les allocations par les structures du moteur de recherche en texte intégral.
MEMORYCLERK_FULLTEXT_SHMEM Ce commis de mémoire est utilisé pour les allocations par les structures du moteur de recherche en texte intégral liées à la connectivité de mémoire partagée avec le processus démon de texte intégral.
MEMORYCLERK_HADR Ce commis de mémoire est utilisé pour les allocations de mémoire par la fonctionnalité Always On
MEMORYCLERK_HOST Ce commis de mémoire est utilisé pour les allocations par les fonctionnalités du système d’exploitation SQL.
MEMORYCLERK_LANGSVC Ce commis de mémoire est utilisé pour les allocations par les instructions et commandes SQL T-SQL (analyseur, algébrizer, etc.)
MEMORYCLERK_LWC Ce commis mémoire est utilisé pour les allocations par le moteur de recherche sémantique de texte intégral
MEMORYCLERK_POLYBASE Ce commis de mémoire effectue le suivi des allocations de mémoire pour les fonctionnalités PolyBase à l’intérieur de SQL Server.
MEMORYCLERK_QSRANGEPREFETCH Ce commis de mémoire est utilisé pour les allocations pendant l’exécution de la requête pour le prérécupération de plage d’analyse de requête.
MEMORYCLERK_QUERYDISKSTORE Ce commis de mémoire est utilisé par Magasin des requêtes allocations de mémoire à l’intérieur de SQL Server.
MEMORYCLERK_QUERYDISKSTORE_HASHMAP Ce commis de mémoire est utilisé par Magasin des requêtes allocations de mémoire à l’intérieur de SQL Server.
MEMORYCLERK_QUERYDISKSTORE_STATS Ce commis de mémoire est utilisé par Magasin des requêtes allocations de mémoire à l’intérieur de SQL Server.
MEMORYCLERK_QUERYPROFILE Ce commis de mémoire est utilisé pendant le démarrage du serveur pour activer le profilage des requêtes

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_RTLHEAP Ce commis de mémoire est utilisé pour les allocations par les fonctionnalités du système d’exploitation SQL.

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_SECURITYAPI Ce commis de mémoire est utilisé pour les allocations par les fonctionnalités du système d’exploitation SQL.

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_SERIALIZATION À usage interne uniquement
MEMORYCLERK_SLOG Ce commis de mémoire est utilisé pour les allocations par sLog (flux de journal en mémoire secondaire) dans la récupération de base de données accélérée

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_SNI Ce commis de mémoire alloue de la mémoire pour les composants SNI (Server Network Interface). SNI gère la connectivité et les paquets TDS pour SQL Server
MEMORYCLERK_SOSMEMMANAGER Ce commis de mémoire alloue des structures pour la planification et la mémoire des threads SQLOS (SOS).
MEMORYCLERK_SOSNODE Ce commis de mémoire alloue des structures pour la planification et la mémoire des threads SQLOS (SOS) et la gestion des E/S.
MEMORYCLERK_SOSOS Ce commis de mémoire alloue des structures pour la planification et la mémoire des threads SQLOS (SOS).
MEMORYCLERK_SPATIAL Ce commis de mémoire est utilisé par les composants De données spatiales pour les allocations de mémoire.
MEMORYCLERK_SQLBUFFERPOOL Ce commis de mémoire effectue le suivi du plus grand consommateur de mémoire dans SQL Server - données et pages d’index. Le pool de mémoires tampons ou le cache de données conserve les données et les pages d’index chargées en mémoire pour fournir un accès rapide aux données. Pour plus d’informations, consultez Gestion des mémoires tampons.
MEMORYCLERK_SQLCLR Ce commis de mémoire est utilisé pour les allocations par SQLCLR.
MEMORYCLERK_SQLCLRASSEMBLY Ce commis de mémoire est utilisé pour les allocations pour les assemblys SQLCLR .
MEMORYCLERK_SQLCONNECTIONPOOL Ce commis mémoire met en cache les informations sur le serveur dont l’application cliente peut avoir besoin que le serveur effectue le suivi. Voici un exemple d’application qui crée des handles de préparation via sp_prepexecrpc. L’application doit annuler correctement la préparation (fermer) ces handles après l’exécution.
MEMORYCLERK_SQLEXTENSIBILITY Ce commis de mémoire est utilisé pour les allocations par le Framework d’extensibilité pour l’exécution de scripts Python ou R externes sur SQL Server.

S’applique à : SQL Server 2019 (15.x) et versions plus récentes
MEMORYCLERK_SQLGENERAL Ce commis de mémoire peut être utilisé par plusieurs consommateurs à l’intérieur du moteur SQL. Par exemple, la mémoire de réplication, le débogage interne/diagnostics, certaines fonctionnalités de démarrage SQL Server, certaines fonctionnalités d’analyseur SQL, la création d’index système, l’initialisation des objets de mémoire globale, la création d’une connexion OLEDB à l’intérieur du serveur et des requêtes serveur lié, le suivi du profileur côté serveur, la création de données showplan, certaines fonctionnalités de sécurité, la compilation de colonnes calculées, la mémoire pour les structures parallélisme, la mémoire pour certaines fonctionnalités XML
MEMORYCLERK_SQLHTTP Déprécié
MEMORYCLERK_SQLLOGPOOL Ce commis de mémoire est utilisé par le pool de journaux SQL Server. Le pool de journaux est un cache utilisé pour améliorer les performances lors de la lecture du journal des transactions. Plus précisément, il améliore l’utilisation du cache de journal pendant plusieurs lectures de journaux, réduit les lectures des journaux d’E/S disque et permet le partage des analyses de journal. Les principaux consommateurs du pool de journaux sont Always On (capture de modifications et envoi), Redo Manager, Récupération de base de données - Analyse/Restauration/Annulation/ Annulation du runtime de transaction, réplication/capture de données modifiées, sauvegarde/restauration.
MEMORYCLERK_SQLOPTIMIZER Ce commis de mémoire est utilisé pour les allocations de mémoire pendant différentes phases de compilation d’une requête. Certaines utilisations incluent l’optimisation des requêtes, le gestionnaire de statistiques d’index, la compilation des définitions d’affichage, la génération d’histogrammes.
MEMORYCLERK_SQLQERESERVATIONS Ce commis de mémoire est utilisé pour les allocations d’allocations d’allocation de mémoire, c’est-à-dire la mémoire allouée aux requêtes pour effectuer des opérations de tri et de hachage pendant l’exécution de la requête. Pour plus d’informations sur les réservations d’exécution de requête (allocations de mémoire), consultez ce blog
MEMORYCLERK_SQLQUERYCOMPILE Ce commis de mémoire est utilisé par l’optimiseur de requête pour allouer de la mémoire pendant la compilation des requêtes.
MEMORYCLERK_SQLQUERYEXEC Ce commis de mémoire est utilisé pour les allocations dans les domaines suivants : traitement en mode Batch, exécution de requêtes parallèles, contexte d’exécution de requête , pavage d’index spatial, tri et opérations de hachage (tables de tri, tables de hachage), traitement DVM, exécution des statistiques de mise à jour
MEMORYCLERK_SQLQUERYPLAN Ce commis mémoire est utilisé pour les allocations par la gestion des pages de tas , les allocations DBCC CHECKTABLE et les allocations de procédures stockées sp_cursor*
MEMORYCLERK_SQLSERVICEBROKER Ce commis de mémoire est utilisé par les allocations de mémoire SQL Server Service Broker .
MEMORYCLERK_SQLSERVICEBROKERTRANSPORT Ce commis de mémoire est utilisé par les allocations de mémoire de transport SQL Server Service Broker .
MEMORYCLERK_SQLSLO_OPERATIONS Ce commis de mémoire est utilisé pour collecter les statistiques de performances

S’applique à : Azure SQL Database
MEMORYCLERK_SQLSOAP Déprécié
MEMORYCLERK_SQLSOAPSESSIONSTORE Déprécié
MEMORYCLERK_SQLSTORENG Ce commis de mémoire est utilisé pour les allocations par plusieurs composants du moteur de stockage. Des exemples de composants incluent des structures pour les fichiers de base de données, le gestionnaire de fichiers de réplica de capture instantanée de base de données, le moniteur d’interblocage, les structures dbTABLE, les structures du gestionnaire de versions tempdb, certaines fonctionnalités de démarrage du serveur, le contexte d’exécution pour les threads enfants dans des requêtes parallèles.
MEMORYCLERK_SQLTRACE Ce commis de mémoire est utilisé pour les allocations de mémoire de trace SQL côté serveur.
MEMORYCLERK_SQLUTILITIES Ce commis de mémoire peut être utilisé par plusieurs allocateurs à l’intérieur de SQL Server. Par exemple, la sauvegarde et la restauration, la copie des journaux de transaction, la mise en miroir de bases de données, les commandes DBCC, le code BCP côté serveur, le travail de parallélisme des requêtes, les mémoires tampons d’analyse des journaux.
MEMORYCLERK_SQLXML Ce commis de mémoire est utilisé pour les allocations de mémoire lors de l’exécution d’opérations XML.
MEMORYCLERK_SQLXP Ce commis de mémoire est utilisé pour les allocations de mémoire lors de l’appel de procédures stockées étendues SQL Server.
MEMORYCLERK_SVL Ce commis de mémoire est utilisé pour les allocations de structures de système d’exploitation SQL internes
MEMORYCLERK_TEST À usage interne uniquement
MEMORYCLERK_UNITTEST À usage interne uniquement
MEMORYCLERK_WRITEPAGERECORDER Ce commis de mémoire est utilisé pour les allocations par enregistreur de pages d’écriture.
MEMORYCLERK_XE Ce commis de mémoire est utilisé pour les allocations de mémoire d’événements étendus
MEMORYCLERK_XE_BUFFER Ce commis de mémoire est utilisé pour les allocations de mémoire d’événements étendus
MEMORYCLERK_XLOG_SERVER Ce commis de mémoire est utilisé pour les allocations par Xlog utilisées pour la gestion des fichiers journaux dans SQL Azure Database

S’applique à : Azure SQL Database
MEMORYCLERK_XTP Ce commis de mémoire est utilisé pour les allocations de mémoire OLTP en mémoire.
OBJECTSTORE_LBSS Ce magasin d’objets est utilisé pour allouer des bases de données temporaires ( variables, paramètres et résultats intermédiaires pour les expressions). Un exemple qui utilise ce magasin est des paramètres table (TVP). Pour plus d’informations sur les correctifs dans cet espace, consultez l’article de la Base de connaissances 4051359 4468102 et la base de connaissances.
OBJECTSTORE_LOCK_MANAGER Ce commis mémoire effectue le suivi des allocations effectuées par le Gestionnaire de verrous dans SQL Server.
OBJECTSTORE_SECAUDIT_EVENT_BUFFER Ce magasin d’objets est utilisé pour les allocations de mémoire d’audit SQL Server.
OBJECTSTORE_SERVICE_BROKER Ce magasin d’objets est utilisé par Service Broker
OBJECTSTORE_SNI_PACKET Ce magasin d’objets est utilisé par les composants SNI (Server Network Interface) qui gèrent la connectivité
OBJECTSTORE_XACT_CACHE Ce magasin d’objets est utilisé pour mettre en cache les informations sur les transactions
USERSTORE_DBMETADATA Ce magasin d’objets est utilisé pour les structures de métadonnées
USERSTORE_OBJPERM Ce magasin est utilisé pour les structures qui effectuent le suivi de la sécurité/autorisation des objets
USERSTORE_QDSSTMT Ce magasin de cache est utilisé pour mettre en cache des instructions Magasin des requêtes
USERSTORE_SCHEMAMGR Le cache du Gestionnaire de schéma stocke différents types d’informations de métadonnées sur les objets de base de données en mémoire (par exemple, les tables). Un utilisateur courant de ce magasin peut être la base de données tempdb avec des objets tels que des tables, des procédures temporaires, des variables de table, des paramètres table, des tables de travail, des fichiers de travail, un magasin de versions.
USERSTORE_SXC Ce magasin d’utilisateurs est utilisé pour les allocations pour stocker tous les paramètres RPC .
USERSTORE_TOKENPERM TokenAndPermUserStore est un magasin d’utilisateurs SOS unique qui effectue le suivi des entrées de sécurité pour le contexte de sécurité, la connexion, l’utilisateur, l’autorisation et l’audit. Plusieurs tables de hachage sont allouées pour stocker ces objets.

Remarque

La documentation utilise le terme B-tree généralement en référence aux index. Dans les index rowstore, le Moteur de base de données implémente une arborescence B+. Cela ne s’applique pas aux index columnstore ou aux index sur les tables optimisées en mémoire. Pour plus d’informations, consultez le Guide de conception et d’architecture d’index SQL Server et Azure SQL.

Voir aussi

Vues de gestion dynamique SQL Server liées au système d'exploitation (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)