sys.dm_os_memory_clerks (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)

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

Observação

Para chamar isso do Azure Synapse Analytics ou do Analytics Platform System (PDW), 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 atendente de memória e pode ser usado em sys.dm_os_memory_objects para localizar objetos de memória vinculados a esse atendente. 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 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 Basic, 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 atendentes 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. Frequentemente, os componentes criam seus atendentes correspondentes no momento em que o SQL Server é iniciado.

CACHESTORE e USERSTORE

CACHESTORE e USERSTORE são atendentes de memória, mas funcionam como caches reais. Normalmente, os caches mantêm alocações até que uma política de remoção de cache libere essas alocações. Para evitar recriá-la, uma alocação armazenada 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 ponteiro do relógio). Este é um dos dois principais controles para caches - controle de vida útil e controle de visibilidade.

O armazenamento em cache e o armazenamento do 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 armazenamento do usuário, o tempo de vida das entradas é controlado apenas parcialmente por um armazenamento. A implementação de cada armazenamento de usuário pode ser específica para a natureza das alocações de memória e, portanto, os armazenamentos de usuários participam do controle vitalício 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 do cache pode ser marcada como suja; ele continuará ativo no cache, mas não ficará visível para nenhuma pesquisa. Para ambos os armazenamentos, a visibilidade de entrada é controlada pela estrutura de cache.

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

OBJECTSTORE

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 repositórios 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 atendente de memória:

Tipo Descrição
CACHESTORE_BROKERDSH Esse armazenamento de cache é usado para armazenar alocações pelo Cache de cabeçalho de segurança da caixa de diálogo do Service Broker
CACHESTORE_BROKERKEK Esse armazenamento de cache é usado para armazenar alocações pelo Cache de Chaves do Exchange 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 Vinculação de Serviço Remoto do Service Broker.
CACHESTORE_BROKERTBLACS Esse armazenamento de cache é usado para armazenar alocações pelo 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 armazenamento de cache é usado para armazenar alocações pelo cache de pesquisa de certificados de usuário do Service Broker
CACHESTORE_COLUMNSTOREOBJECTPOOL Esse armazenamento de cache é usado para alocações por Columnstore Indexes 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 armazenamento de cache é usado para armazenar alocações por notificações de eventos do Service Broker
CACHESTORE_FULLTEXTSTOPLIST Esse atendente de memória é usado para alocações pelo mecanismo de texto completo para a funcionalidade de lista de paradas.
CACHESTORE_NOTIF Esse armazenamento de cache é usado para alocações pela funcionalidade de Notificação de Consulta
CACHESTORE_OBJCP Esse armazenamento de cache é usado para armazenar em cache objetos 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 armazenamento 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 armazenamento de cache é usado para armazenar em cache as estatísticas de tempo de execução do Repositório de Consultas
CACHESTORE_SEARCHPROPERTYLIST Esse armazenamento 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 plano. Consultas ad hoc são geralmente instruções T-SQL de evento de idioma 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 execuções de/procedimentos do sistema sp_execute ou sp_prepexec. 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 do plano.
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 armazenamento de cache é usado para armazenar em cache estruturas para procedimentos armazenados estendidos (Xprocs) no cache do plano.
MEMORYCLERK_BACKUP Esse atendente de memória é usado para várias alocações pela funcionalidade de backup
MEMORYCLERK_BHF Esse atendente 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 atendente de memória é usado para alocações pela funcionalidade do sistema operacional SQL para filtragem de bitmap
MEMORYCLERK_CSILOBCOMPRESSION Esse atendente de memória é usado para alocações por Columnstore Index Compactação de objetos binários grandes (BLOB)
MEMORYCLERK_DRTLHEAP Esse atendente 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 atendente 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 atendente 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 atendente de memória é usado para várias alocações pela funcionalidade FileTables .
MEMORYCLERK_FSAGENT Esse atendente de memória é usado para várias alocações pela funcionalidade FILESTREAM .
MEMORYCLERK_FSCHUNKER Esse atendente de memória é usado para várias alocações pela funcionalidade FILESTREAM para criar blocos de fluxo de arquivos.
MEMORYCLERK_FULLTEXT Esse atendente de memória é usado para alocações por estruturas de mecanismo de texto completo.
MEMORYCLERK_FULLTEXT_SHMEM Esse atendente de memória é usado para alocações por estruturas de mecanismo de Texto Completo relacionadas à conectividade de memória compartilhada com o processo Daemon de Texto Completo.
MEMORYCLERK_HADR Esse atendente de memória é usado para alocações de memória pela funcionalidade Always On
MEMORYCLERK_HOST Esse atendente de memória é usado para alocações pela funcionalidade do sistema operacional SQL.
MEMORYCLERK_LANGSVC Este atendente de memória é usado para alocações por instruções e comandos SQL T-SQL (analisador, algebrizer, etc.)
MEMORYCLERK_LWC Este atendente de memória é usado para alocações pelo mecanismo de pesquisa semântica de texto completo
MEMORYCLERK_POLYBASE Esse atendente de memória controla as alocações de memória para a funcionalidade do PolyBase dentro do SQL Server.
MEMORYCLERK_QSRANGEPREFETCH Esse atendente de memória é usado para alocações durante a execução da consulta para pré-busca do intervalo de verificação de consulta.
MEMORYCLERK_QUERYDISKSTORE Esse atendente de memória é usado pelas alocações de memória do Repositório de Consultas dentro do SQL Server.
MEMORYCLERK_QUERYDISKSTORE_HASHMAP Esse atendente de memória é usado pelas alocações de memória do Repositório de Consultas dentro do SQL Server.
MEMORYCLERK_QUERYDISKSTORE_STATS Esse atendente de memória é usado pelas alocações de memória do Repositório de Consultas dentro do SQL Server.
MEMORYCLERK_QUERYPROFILE Esse atendente 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 atendente 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 atendente 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 atendente de memória é usado para alocações por sLog (fluxo de log secundário na memória) na Recuperação Acelerada de Banco de Dados

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_SNI Esse atendente de memória aloca memória para os componentes SNI (Server Network Interface). SNI gerencia conectividade e pacotes TDS para SQL Server
MEMORYCLERK_SOSMEMMANAGER Esse atendente de memória aloca estruturas para agendamento de threads SQLOS (SOS) e gerenciamento de memória e E/S..
MEMORYCLERK_SOSNODE Esse atendente de memória aloca estruturas para agendamento de threads SQLOS (SOS) e gerenciamento de memória e E/S.
MEMORYCLERK_SOSOS Esse atendente de memória aloca estruturas para agendamento de threads SQLOS (SOS) e gerenciamento de memória e E/S..
MEMORYCLERK_SPATIAL Esse atendente de memória é usado por componentes de dados espaciais para alocações de memória.
MEMORYCLERK_SQLBUFFERPOOL Esse atendente de memória controla normalmente o maior consumidor de memória dentro do SQL Server - páginas de dados e índice. O pool de buffers 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 atendente de memória é usado para alocações por SQLCLR.
MEMORYCLERK_SQLCLRASSEMBLY Esse atendente de memória é usado para alocações para assemblies SQLCLR .
MEMORYCLERK_SQLCONNECTIONPOOL Esse atendente 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 via sp_prepexecrpc. O aplicativo deve despreparar corretamente (fechar) esses identificadores após a execução.
MEMORYCLERK_SQLEXTENSIBILITY Esse atendente de memória é usado para alocações pelo Extensibility Framework para executar scripts Python ou R externos no SQL Server.

Aplica-se a: SQL Server 2019 (15.x) e versões posteriores
MEMORYCLERK_SQLGENERAL Esse atendente de memória pode ser usado por vários consumidores dentro do mecanismo SQL. Exemplos incluem memória de replicação, depuração/diagnóstico interno, alguma funcionalidade de inicialização do SQL Server, alguma funcionalidade de analisador SQL, criação de índices do sistema, inicializar objetos de memória global, Criar conexão OLEDB dentro do servidor e consultas de servidor vinculado, rastreamento de perfil do lado do servidor, criação de dados de plano de exibiçã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 atendente 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, 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 principais consumidores do pool de logs são Always On (Change Capture and Send), Redo Manager, Database Recovery - Analysis/Redo/Undo, Transaction Runtime Rollback, Replication/CDC, Backup/Restore.
MEMORYCLERK_SQLOPTIMIZER Esse atendente de memória é usado para alocações de memória durante diferentes fases de 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 atendente 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 atendente de memória é usado pelo otimizador de consulta para alocar memória durante a compilação de consultas.
MEMORYCLERK_SQLQUERYEXEC Esse atendente de memória é usado para alocações nas seguintes áreas: processamento em modo batch, execução de consulta paralela, contexto de execução de consulta, tesselação 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 atendente de memória é usado para alocações por gerenciamento de página Heap , alocações DBCC CHECKTABLE e alocações de procedimento armazenado sp_cursor*
MEMORYCLERK_SQLSERVICEBROKER Esse atendente de memória é usado pelas alocações de memória do SQL Server Service Broker .
MEMORYCLERK_SQLSERVICEBROKERTRANSPORT Esse atendente de memória é usado pelas alocações de memória de transporte do SQL Server Service Broker .
MEMORYCLERK_SQLSLO_OPERATIONS Esse atendente 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 atendente 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 de gerenciador de log, 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 atendente de memória é usado para alocações de memória de rastreamento SQL do lado do servidor.
MEMORYCLERK_SQLUTILITIES Esse atendente de memória pode ser usado por vários alocadores dentro do SQL Server. Exemplos incluem Backup e Restauração, Envio de Logs, Espelhamento de Banco de Dados, comandos DBCC, código BCP no lado do servidor, algum trabalho de paralelismo de consulta, buffers de Log Scan.
MEMORYCLERK_SQLXML Esse atendente de memória é usado para alocações de memória ao executar operações XML.
MEMORYCLERK_SQLXP Esse atendente de memória é usado para alocações de memória ao chamar procedimentos armazenados estendidos do SQL Server.
MEMORYCLERK_SVL Esse atendente 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 atendente de memória é usado para alocações pelo Write Page Recorder.
MEMORYCLERK_XE Esse atendente de memória é usado para alocações de memória de Eventos Estendidos
MEMORYCLERK_XE_BUFFER Esse atendente de memória é usado para alocações de memória de Eventos Estendidos
MEMORYCLERK_XLOG_SERVER Esse atendente 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 atendente de memória é usado para alocações de memória OLTP na memória.
OBJECTSTORE_LBSS Esse repositório de objetos é usado para alocar LOBs temporários - variáveis, parâmetros e resultados intermediários para expressões. Um exemplo que usa esse armazenamento é TVP (parâmetros com valor de tabela). Consulte o artigo da Base de Dados de Conhecimento 4468102 e o artigo da Base de Dados de Conhecimento 4051359 para obter mais informações sobre correções neste espaço.
OBJECTSTORE_LOCK_MANAGER Esse atendente 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 repositório de objetos é usado pelo Service Broker
OBJECTSTORE_SNI_PACKET Esse repositório de objetos é usado por componentes SNI (Server Network Interface) que gerenciam a conectividade
OBJECTSTORE_XACT_CACHE Esse repositório de objetos é usado para armazenar em cache informações de transações
USERSTORE_DBMETADATA Esse repositório de objetos é usado para estruturas de metadados
USERSTORE_OBJPERM Esse armazenamento é usado para estruturas que controlam a segurança/permissão do objeto
USERSTORE_QDSSTMT Esse armazenamento de cache é usado para armazenar em cache instruções do Repositório de Consultas
USERSTORE_SCHEMAMGR O cache do gerenciador de esquema 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 armazenamento 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, armazenamento de versão.
USERSTORE_SXC Esse repositório de usuário é usado para alocações para armazenar todos os parâmetros RPC .
USERSTORE_TOKENPERM TokenAndPermUserStore é um único armazenamento de usuário SOS que mantém o controle de entradas de segurança para contexto de segurança, login, usuário, permissão e auditoria. Várias tabelas de hash são alocadas para armazenar esses objetos.

Observação

A documentação do SQL Server usa o termo árvore B geralmente em referência a índices. Em índices de rowstore, o SQL Server implementa uma árvore B+. Isso não se aplica a índices columnstore ou armazenamentos de dados na 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)