Compartilhar via


sys.dm_os_memory_clerks (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics Analytics Platform System (PDW)

Retorna o conjunto de todos os administradores de memória que estão ativos no momento na instância do SQL Server.

Observação

Para chamar isso do Azure Synapse Analytics ou do PDW (Analytics Platform System), use o nome sys.dm_pdw_nodes_os_memory_clerks. Não há suporte a essa sintaxe para o pool de SQL sem servidor no Azure Synapse Analytics.

Nome da coluna Tipo de dados Descrição
memory_clerk_address varbinary(8) Especifica o endereço de memória exclusivo do administrador de memória. Esta é a coluna de chave primária. Não permite valor nulo.
tipo nvarchar(60) Especifica o tipo do administrador de memória. Todo administrador de memória tem um tipo específico, como os Administradores MEMORYCLERK_SQLCLR do CLR. Não permite valor nulo.
name nvarchar(256) Especifica o nome atribuído internamente deste administrador de memória. Um componente pode ter vários administradores de memória de um tipo específico. Um componente pode optar por usar nomes específicos para identificar administradores de memória do mesmo tipo. Não permite valor nulo.
memory_node_id smallint Especifica a ID do nó de memória. Não permite valor nulo.
single_pages_kb bigint Aplica-se a: SQL Server (SQL Server 2008 (10.0.x) ao SQL Server 2008 R2 (10.50.x). Para obter mais informações, consulte Alterações no gerenciamento de memória a partir do SQL Server 2012 (11.x).
pages_kb bigint Aplica-se a: SQL Server 2012 (11.x) e posterior.

Especifica a quantidade de memória de páginas alocada em KB (quilobytes) para este administrador de memória. Não permite valor nulo.
multi_pages_kb bigint Aplica-se a: SQL Server (SQL Server 2008 (10.0.x) ao SQL Server 2008 R2 (10.50.x). Para obter mais informações, consulte Alterações no gerenciamento de memória a partir do SQL Server 2012 (11.x).

Quantidade de memória de várias páginas alocada em KB. Esta é a quantidade de memória alocada usando o alocador de várias páginas dos nós de memória. Esta memória é alocada fora do pool de buffers e se beneficia do alocador virtual dos nós de memória. Não permite valor nulo.
virtual_memory_reserved_kb bigint Especifica a quantidade de memória virtual reservada por um administrador de memória. Não permite valor nulo.
virtual_memory_committed_kb bigint Especifica a quantidade de memória virtual confirmada por um administrador de memória. A quantidade de memória confirmada sempre deve ser menor que a quantidade de memória reservada. Não permite valor nulo.
awe_allocated_kb bigint Especifica a quantidade de memória em KB (quilobytes) bloqueada na memória física e não paginada para fora pelo sistema operacional. Não permite valor nulo.
shared_memory_reserved_kb bigint Especifica a quantidade de memória compartilhada reservada por um administrador de memória. A quantidade de memória reservada para uso por mapeamento de arquivo e memória compartilhada. Não permite valor nulo.
shared_memory_committed_kb bigint Especifica a quantidade de memória compartilhada confirmada pelo administrador de memória. Não permite valor nulo.
page_size_in_bytes bigint Especifica a granularidade da alocação de páginas para este administrador de memória. Não permite valor nulo.
page_allocator_address varbinary(8) Especifica o endereço do alocador de páginas. Esse endereço é exclusivo para um administrador de memória e pode ser usado em sys.dm_os_memory_objects para localizar objetos de memória associados a esse funcionário. Não permite valor nulo.
host_address varbinary(8) Especifica o endereço de memória do host desse administrador de memória. Para obter mais informações, consulte sys.dm_os_hosts (Transact-SQL). Componentes, como o Microsoft SQL Server Native Client, acessam os recursos de memória do SQL Server por meio da interface do host.

0x00000000 = O funcionário de memória pertence ao SQL Server.

Não permite valor nulo.
pdw_node_id int Aplica-se a: Azure Synapse Analytics, Analytics Platform System (PDW)

O identificador do nó em que essa distribuição está ativada.

Permissões

No SQL Server, requer a permissão VIEW SERVER STATE.
Nos objetivos de serviço Básico, S0 e S1 do Banco de Dados SQL do Azure e para bancos de dados em pools elásticos, a conta de administrador do servidor ou a conta de administrador do Microsoft Entra é necessária. Em todos os outros objetivos de serviço do Banco de Dados SQL do Azure, a VIEW DATABASE STATE permissão é necessária no banco de dados.

Permissões do SQL Server 2022 e posteriores

É necessária a permissão VIEW SERVER PERFORMANCE STATE no servidor.

Comentários

O gerenciador de memória do SQL Server consiste em uma hierarquia de três camadas. Na parte inferior da hierarquia estão os nós de memória. O próximo nível médio consiste em administradores de memória, caches de memória e pools de memória. A camada superior consiste em objetos de memória. Esses objetos são usados para alocar memória em uma instância do SQL Server.

Os nós de memória fornecem a interface e a implementação para alocadores de baixo nível. Dentro do SQL Server, somente os administradores de memória têm acesso aos nós de memória. Os administradores de memória acessam interfaces de nó de memória para alocar memória. Os nós de memória também controlam a memória alocada, usando o administrador para diagnósticos. Todo componente que aloca uma quantidade significativa de memória deve criar seu próprio administrador de memória e alocar toda a sua memória usando as interfaces do administrador. Freqüentemente, os componentes criam seus funcionários correspondentes no momento em que o SQL Server é iniciado.

CACHESTORE e USERSTORE

CACHESTORE e USERSTORE são administradores de memória, mas funcionam como caches reais. Normalmente, os caches mantêm as alocações até que uma política de remoção de cache libere essas alocações. Para evitar recriá-la, uma alocação em cache é mantida no cache o maior tempo possível e normalmente é removida do cache quando é muito antiga para ser útil ou quando o espaço de memória é necessário para novas informações (para obter mais informações, consulte varredura do relógio). Este é um dos dois principais controles para caches - controle de tempo de vida e controle de visibilidade.

O armazenamento de cache e o armazenamento de usuário diferem na maneira como controlam o tempo de vida das alocações. No caso de um armazenamento de cache, o tempo de vida das entradas é totalmente controlado pela estrutura de cache do SQLOS. Com o repositório do usuário, o tempo de vida das entradas é controlado apenas parcialmente por um repositório. A implementação de cada repositório de usuário pode ser específica para a natureza das alocações de memória e, portanto, os repositórios de usuário participam do controle de tempo de vida de suas entradas.

O controle de visibilidade gerencia a visibilidade de uma entrada. Uma entrada em um cache pode existir, mas pode não estar visível. Por exemplo, se uma entrada de cache for marcada apenas para uso único, a entrada não ficará visível depois de ser usada. Além disso, a entrada de cache pode ser marcada como suja; Ele continuará a residir no cache, mas não ficará visível para nenhuma pesquisa. Para ambos os repositórios, a visibilidade de entrada é controlada pela estrutura de cache.

Para obter mais informações, consulte Cache do SQLOS.

ARMAZENAMENTO DE OBJETOS

O armazenamento de objetos é um pool simples. Ele é usado para armazenar em cache dados homogêneos. Todas as entradas nos pools são consideradas iguais. Os armazenamentos de objetos implementam um limite máximo para controlar o tamanho em relação a outros caches.

Para obter mais informações, consulte Cache do SQLOS.

Tipos

A tabela a seguir lista os tipos de administrador de memória:

Tipo Descrição
CACHESTORE_BROKERDSH Esse armazenamento de cache é usado para armazenar alocações por Cache de cabeçalho de segurança de caixa de diálogo do Service Broker
CACHESTORE_BROKERKEK Esse armazenamento de cache é usado para armazenar alocações pelo cache de chaves de troca de chaves do Service Broker
CACHESTORE_BROKERREADONLY Esse armazenamento de cache é usado para armazenar alocações pelo cache somente leitura do Service Broker
CACHESTORE_BROKERRSB Esse armazenamento de cache é usado para armazenar alocações pelo Cache de Associação de Serviço Remoto do Service Broker.
CACHESTORE_BROKERTBLACS Esse armazenamento de cache é usado para armazenar alocações do Service Broker para estruturas de acesso de segurança.
CACHESTORE_BROKERTO Esse armazenamento de cache é usado para armazenar alocações pelo Cache de Objetos de Transmissão do Service Broker
CACHESTORE_BROKERUSERCERTLOOKUP Esse repositório de cache é usado para armazenar alocações pelo cache de pesquisa de certificados de usuário do Service Broker
CACHESTORE_COLUMNSTOREOBJECTPOOL Esse repositório de cache é usado para alocações por índices columnstore para segmentos e dicionários
CACHESTORE_CONVPRI Esse armazenamento de cache é usado para armazenar alocações pelo Service Broker para acompanhar as prioridades do Conversations
CACHESTORE_EVENTS Esse repositório de cache é usado para armazenar alocações por notificações de eventos do Service Broker
CACHESTORE_FULLTEXTSTOPLIST Esse administrador de memória é usado para alocações pelo mecanismo de texto completo para a funcionalidade de lista de palavras irrelevantes.
CACHESTORE_NOTIF Esse repositório de cache é usado para alocações pela funcionalidade de Notificação de Consulta
CACHESTORE_OBJCP Esse repositório de cache é usado para armazenar objetos em cache com planos compilados (CP): procedimentos armazenados, funções, gatilhos. Para ilustrar, depois que um plano de consulta para um procedimento armazenado é criado, seu plano é armazenado nesse cache.
CACHESTORE_PHDR Esse repositório de cache é usado para cache de memória temporário durante a análise de exibições, restrições e árvores de algebrizer padrão durante a compilação de uma consulta. Depois que a consulta for analisada, a memória deverá ser liberada. Alguns exemplos incluem: muitas instruções em um lote – milhares de inserções ou atualizações em um lote, um lote T-SQL que contém uma grande consulta gerada dinamicamente, um grande número de valores em uma cláusula IN.
CACHESTORE_QDSRUNTIMESTATS Esse repositório de cache é usado para armazenar em cache as estatísticas de tempo de execução do Repositório de Consultas
CACHESTORE_SEARCHPROPERTYLIST Esse repositório de cache é usado para alocações pelo mecanismo de texto completo para o cache da lista de propriedades
CACHESTORE_SEHOBTCOLUMNATTRIBUTE Esse armazenamento de cache é usado pelo mecanismo de armazenamento para armazenar em cache estruturas de metadados de coluna Heap ou B-Tree (HoBT).
CACHESTORE_SQLCP Esse armazenamento de cache é usado para armazenar em cache consultas ad hoc, instruções preparadas e cursores do lado do servidor no cache de planos. As consultas ad hoc geralmente são instruções T-SQL de evento de linguagem enviadas ao servidor sem parametrização explícita. As instruções preparadas também usam esse armazenamento de cache – elas são enviadas pelo aplicativo usando chamadas de API como SQLPrepare()/ SQLExecute (ODBC) ou SqlCommand.Prepare/SqlCommand.ExecuteNonQuery (ADO.NET) e aparecerão no servidor como sp_prepare/sp_execute ou sp_prepexec execuções de procedimento do sistema. Além disso, os cursores do lado do servidor consumiriam desse armazenamento de cache (sp_cursoropen, sp_cursorfetch, sp_cursorclose).
CACHESTORE_STACKFRAMES Esse armazenamento de cache é usado para alocações de estruturas internas do sistema operacional SQL relacionadas a quadros de pilha.
CACHESTORE_SYSTEMROWSET Esse armazenamento de cache é usado para alocações de estruturas internas relacionadas ao log e recuperação de transações.
CACHESTORE_TEMPTABLES Esse armazenamento de cache é usado para alocações relacionadas a tabelas temporárias e cache de variáveis de tabela - parte do cache de planos.
CACHESTORE_VIEWDEFINITIONS Esse armazenamento de cache é usado para armazenar em cache as definições de exibição como parte da otimização de consulta.
CACHESTORE_XML_SELECTIVE_DG Esse armazenamento de cache é usado para armazenar em cache estruturas XML para processamento XML.
CACHESTORE_XMLDBATTRIBUTE Esse armazenamento de cache é usado para armazenar em cache estruturas de atributos XML para atividades XML, como XQuery.
CACHESTORE_XMLDBELEMENT Esse armazenamento de cache é usado para armazenar em cache estruturas de elementos XML para atividades XML como XQuery.
CACHESTORE_XMLDBTYPE Esse armazenamento de cache é usado para armazenar em cache estruturas XML para atividades XML, como XQuery.
CACHESTORE_XPROC Esse repositório de cache é usado para armazenar em cache estruturas para procedimentos armazenados estendidos (Xprocs) no cache de planos.
MEMORYCLERK_BACKUP Esse administrador de memória é usado para várias alocações pela funcionalidade de backup
MEMORYCLERK_BHF Esse administrador de memória é usado para alocações para gerenciamento de BLOB (objetos binários grandes) durante a execução da consulta (suporte a Identificador de Blob)
MEMORYCLERK_BITMAP Esse administrador de memória é usado para alocações pela funcionalidade do sistema operacional SQL para filtragem de bitmap
MEMORYCLERK_CSILOBCOMPRESSION Esse administrador de memória é usado para alocações pela compactação BLOB (objetos binários grandes) do índice columnstore
MEMORYCLERK_DRTLHEAP Esse administrador de memória é usado para alocações pela funcionalidade do sistema operacional SQL

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_EXPOOL Esse administrador de memória é usado para alocações pela funcionalidade do sistema operacional SQL

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_EXTERNAL_EXTRACTORS Esse administrador de memória é usado para alocações pelo mecanismo de execução de consulta para operações em modo de lote

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_FILETABLE Esse administrador de memória é usado para várias alocações pela funcionalidade FileTables .
MEMORYCLERK_FSAGENT Esse administrador de memória é usado para várias alocações pela funcionalidade FILESTREAM .
MEMORYCLERK_FSCHUNKER Esse administrador de memória é usado para várias alocações pela funcionalidade FILESTREAM para criar partes de fluxo de arquivos.
MEMORYCLERK_FULLTEXT Esse administrador de memória é usado para alocações por estruturas de mecanismo de texto completo.
MEMORYCLERK_FULLTEXT_SHMEM Esse administrador de memória é usado para alocações por estruturas de mecanismo de texto completo relacionadas à conectividade de memória compartilhada com o processo do Daemon de texto completo.
MEMORYCLERK_HADR Esse administrador de memória é usado para alocações de memória pela funcionalidade Always On
MEMORYCLERK_HOST Esse administrador de memória é usado para alocações pela funcionalidade do sistema operacional SQL.
MEMORYCLERK_LANGSVC Esse administrador de memória é usado para alocações por instruções e comandos SQL T-SQL (analisador, algebrizer, etc.)
MEMORYCLERK_LWC Esse administrador de memória é usado para alocações pelo mecanismo de pesquisa semântica de texto completo
MEMORYCLERK_POLYBASE Esse administrador de memória controla as alocações de memória para a funcionalidade do PolyBase dentro do SQL Server.
MEMORYCLERK_QSRANGEPREFETCH Esse administrador de memória é usado para alocações durante a execução da consulta para pré-busca de intervalo de verificação de consulta.
MEMORYCLERK_QUERYDISKSTORE Esse administrador de memória é usado por alocações de memória do Repositório de Consultas dentro do SQL Server.
MEMORYCLERK_QUERYDISKSTORE_HASHMAP Esse administrador de memória é usado por alocações de memória do Repositório de Consultas dentro do SQL Server.
MEMORYCLERK_QUERYDISKSTORE_STATS Esse administrador de memória é usado por alocações de memória do Repositório de Consultas dentro do SQL Server.
MEMORYCLERK_QUERYPROFILE Esse administrador de memória é usado durante a inicialização do servidor para habilitar a criação de perfil de consulta

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_RTLHEAP Esse administrador de memória é usado para alocações pela funcionalidade do sistema operacional SQL.

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_SECURITYAPI Esse administrador de memória é usado para alocações pela funcionalidade do sistema operacional SQL.

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_SERIALIZATION Somente para uso interno
MEMORYCLERK_SLOG Esse administrador de memória é usado para alocações por sLog (fluxo de log secundário na memória) no Accelerated Database Recovery

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_SNI Esse administrador de memória aloca memória para os componentes SNI (Server Network Interface). O SNI gerencia a conectividade e os pacotes TDS para o SQL Server
MEMORYCLERK_SOSMEMMANAGER Esse administrador de memória aloca estruturas para agendamento de threads SQLOS (SOS) e gerenciamento de memória e E/S.
MEMORYCLERK_SOSNODE Esse administrador de memória aloca estruturas para agendamento de threads SQLOS (SOS) e gerenciamento de memória e E/S.
MEMORYCLERK_SOSOS Esse administrador de memória aloca estruturas para agendamento de threads SQLOS (SOS) e gerenciamento de memória e E/S.
MEMORYCLERK_SPATIAL Esse administrador de memória é usado por componentes de dados espaciais para alocações de memória.
MEMORYCLERK_SQLBUFFERPOOL Esse administrador de memória controla normalmente o maior consumidor de memória dentro do SQL Server – páginas de dados e índice. O Buffer Pool ou cache de dados mantém os dados e as páginas de índice carregados na memória para fornecer acesso rápido aos dados. Para obter mais informações, consulte Gerenciamento de buffer.
MEMORYCLERK_SQLCLR Esse administrador de memória é usado para alocações pelo SQLCLR.
MEMORYCLERK_SQLCLRASSEMBLY Esse administrador de memória é usado para alocações para assemblies SQLCLR .
MEMORYCLERK_SQLCONNECTIONPOOL Esse administrador de memória armazena em cache informações no servidor que o aplicativo cliente pode precisar que o servidor acompanhe. Um exemplo é um aplicativo que cria identificadores de preparação por meio de sp_prepexecrpc. O aplicativo deve despreparar (fechar) corretamente esses identificadores após a execução.
MEMORYCLERK_SQLEXTENSIBILITY Esse administrador de memória é usado para alocações pela Estrutura de Extensibilidade para executar scripts externos do Python ou do R no SQL Server.

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_SQLGENERAL Esse administrador de memória pode ser usado por vários consumidores dentro do mecanismo SQL. Os exemplos incluem memória de replicação, depuração/diagnóstico interno, algumas funcionalidades de inicialização do SQL Server, algumas funcionalidades do analisador SQL, criação de índices do sistema, inicialização de objetos de memória global, criação de conexão OLEDB dentro do servidor e consultas do Linked Server, rastreamento do Profiler do lado do servidor, criação de dados de plano de execução, algumas funcionalidades de segurança, compilação de colunas computadas, memória para estruturas de paralelismo, memória para algumas funcionalidades XML
MEMORYCLERK_SQLHTTP Preterido
MEMORYCLERK_SQLLOGPOOL Esse administrador de memória é usado pelo Pool de Logs do SQL Server. O pool de logs é um cache usado para melhorar o desempenho ao ler o log de transações. Especificamente, ele melhora a utilização do cache de log durante várias leituras de log, reduz as leituras de log de E/S de disco e permite o compartilhamento de varreduras de log. Os consumidores primários do pool de logs são Always On (Captura e Envio de Alterações), Redo Manager, Recuperação de Banco de Dados – Análise/Refazer/Desfazer, Reversão de Tempo de Execução de Transação, Replicação/CDC, Backup/Restauração.
MEMORYCLERK_SQLOPTIMIZER Esse administrador de memória é usado para alocações de memória durante diferentes fases da compilação de uma consulta. Alguns usos incluem otimização de consulta, gerenciador de estatísticas de índice, compilação de definições de exibição, geração de histograma.
MEMORYCLERK_SQLQERESERVATIONS Esse administrador de memória é usado para alocações de Concessão de Memória, ou seja, memória alocada para consultas para executar operações de classificação e hash durante a execução da consulta. Para obter mais informações sobre reservas de Execução de Consulta (concessões de memória), consulte este blog
MEMORYCLERK_SQLQUERYCOMPILE Esse administrador de memória é usado pelo otimizador de consulta para alocar memória durante a compilação de consultas.
MEMORYCLERK_SQLQUERYEXEC Esse administrador de memória é usado para alocações nas seguintes áreas: processamento em modo de lote, execução de consulta paralela, contexto de execução de consulta, mosaico de índice espacial, operações de classificação e hash (tabelas de classificação, tabelas de hash), processamento de DVM, execução de estatísticas de atualização
MEMORYCLERK_SQLQUERYPLAN Esse administrador de memória é usado para alocações por gerenciamento de página de heap , alocações DBCC CHECKTABLE e alocações de procedimento armazenado sp_cursor*
MEMORYCLERK_SQLSERVICEBROKER Esse administrador de memória é usado por alocações de memória do SQL Server Service Broker .
MEMORYCLERK_SQLSERVICEBROKERTRANSPORT Esse administrador de memória é usado por alocações de memória de transporte do SQL Server Service Broker .
MEMORYCLERK_SQLSLO_OPERATIONS Esse administrador de memória é usado para coletar estatísticas de desempenho

Aplica-se a: Banco de Dados SQL do Azure
MEMORYCLERK_SQLSOAP Preterido
MEMORYCLERK_SQLSOAPSESSIONSTORE Preterido
MEMORYCLERK_SQLSTORENG Esse administrador de memória é usado para alocações por vários componentes do mecanismo de armazenamento. Exemplos de componentes incluem estruturas para arquivos de banco de dados, gerenciador de arquivos de réplica de instantâneo de banco de dados, monitor de deadlock, estruturas DBTABLE, estruturas do gerenciador de logs, algumas estruturas de controle de versão tempdb, algumas funcionalidades de inicialização do servidor, contexto de execução para threads filho em consultas paralelas.
MEMORYCLERK_SQLTRACE Esse administrador de memória é usado para alocações de memória do Rastreamento SQL do lado do servidor.
MEMORYCLERK_SQLUTILITIES Esse administrador de memória pode ser usado por vários alocadores dentro do SQL Server. Os exemplos incluem Backup e Restauração, Envio de Logs, Espelhamento de Banco de Dados, comandos DBCC, código BCP no lado do servidor, alguns trabalhos de paralelismo de consulta, buffers de Log Scan.
MEMORYCLERK_SQLXML Esse administrador de memória é usado para alocações de memória ao executar operações XML.
MEMORYCLERK_SQLXP Esse administrador de memória é usado para alocações de memória ao chamar procedimentos armazenados estendidos do SQL Server.
MEMORYCLERK_SVL Esse administrador de memória é usado para alocações de estruturas internas do sistema operacional SQL
MEMORYCLERK_TEST Somente para uso interno
MEMORYCLERK_UNITTEST Somente para uso interno
MEMORYCLERK_WRITEPAGERECORDER Esse administrador de memória é usado para alocações pelo Gravador de Gravação de Página.
MEMORYCLERK_XE Esse administrador de memória é usado para alocações de memória de Eventos Estendidos
MEMORYCLERK_XE_BUFFER Esse administrador de memória é usado para alocações de memória de Eventos Estendidos
MEMORYCLERK_XLOG_SERVER Esse administrador de memória é usado para alocações pelo Xlog usado para gerenciamento de arquivos de log no Banco de Dados do SQL Azure

Aplica-se a: Banco de Dados SQL do Azure
MEMORYCLERK_XTP Esse administrador de memória é usado para alocações de memória OLTP na memória.
OBJECTSTORE_LBSS Esse armazenamento de objetos é usado para alocar LOBs temporários - variáveis, parâmetros e resultados intermediários para expressões. Um exemplo que usa esse repositório são os parâmetros com valor de tabela (TVP). Consulte o artigo da base de conhecimento 4468102 e o artigo da base de conhecimento 4051359 para obter mais informações sobre correções neste espaço.
OBJECTSTORE_LOCK_MANAGER Esse administrador de memória controla as alocações feitas pelo Gerenciador de Bloqueio no SQL Server.
OBJECTSTORE_SECAUDIT_EVENT_BUFFER Esse repositório de objetos é usado para alocações de memória de auditoria do SQL Server.
OBJECTSTORE_SERVICE_BROKER Esse armazenamento de objetos é usado pelo Service Broker
OBJECTSTORE_SNI_PACKET Esse armazenamento de objetos é usado por componentes SNI (Server Network Interface) que gerenciam a conectividade
OBJECTSTORE_XACT_CACHE Esse armazenamento de objetos é usado para armazenar em cache as informações de transações
USERSTORE_DBMETADATA Esse armazenamento de objetos é usado para estruturas de metadados
USERSTORE_OBJPERM Esse repositório é usado para estruturas que controlam a segurança/permissão do objeto
USERSTORE_QDSSTMT Esse repositório de cache é usado para armazenar em cache instruções do Repositório de Consultas
USERSTORE_SCHEMAMGR O cache do gerenciador de esquemas armazena diferentes tipos de informações de metadados sobre os objetos de banco de dados na memória (por exemplo, tabelas). Um usuário comum desse repositório pode ser o banco de dados tempdb com objetos como tabelas, procedimentos temporários, variáveis de tabela, parâmetros com valor de tabela, tabelas de trabalho, arquivos de trabalho, repositório de versão.
USERSTORE_SXC Esse repositório de usuários é usado para alocações para armazenar todos os parâmetros RPC .
USERSTORE_TOKENPERM TokenAndPermUserStore é um único repositório de usuário SOS que controla as entradas de segurança para contexto de segurança, logon, usuário, permissão e auditoria. Várias tabelas de hash são alocadas para armazenar esses objetos.

Observação

A documentação usa o termo árvore B geralmente em referência a índices. Em índices rowstore, o Mecanismo de Banco de Dados implementa uma árvore B+. Isso não se aplica a índices columnstore ou índices em tabelas com otimização de memória. Para obter mais informações, confira o Guia de arquitetura e design do índice do SQL Server e SQL do Azure.

Confira também

Exibições de gerenciamento dinâmico relacionadas ao sistema operacional do 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)