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
De manière générale, la documentation SQL Server utilise le terme B-tree en référence aux index. Dans les index rowstore, le moteur de base de données implémente une structure B+. Cela ne s’applique pas aux index columnstore ou aux index sur les tables à mémoire optimisée. 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)