DMVs (exibições de gerenciamento dinâmico)

Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

As DMVs (Exibições de Gerenciamento Dinâmico) do Analysis Services são consultas que retornam informações sobre objetos de modelo, operações de servidor e integridade do servidor. A consulta, baseada em SQL, é uma interface para conjuntos de linhas de esquema. Conjuntos de linhas de esquema são tabelas pré-descritas que contêm informações sobre objetos e estado do servidor do Analysis Services, incluindo esquema de banco de dados, sessões ativas, conexões, comandos e trabalhos que estão sendo executados no servidor.

Para Power BI Premium modelos semânticos, as DMVs para consulta por meio do ponto de extremidade XMLA são limitadas àqueles que exigem permissões de administrador de banco de dados. Algumas DMVs não têm suporte porque exigem permissões de administrador do servidor do Analysis Services.

As consultas de DMV são uma alternativa à execução de comandos XML/UM Discover. Para a maioria dos administradores, escrever uma consulta DMV é mais simples porque a sintaxe é baseada em SQL. Além disso, o resultado é retornado em um formato de tabela mais fácil de ler e copiar.

A maioria das consultas DMV usa uma instrução SELECT e o esquema $System com um conjunto de linhas de esquema XML/A, por exemplo:

SELECT * FROM $System.<schemaRowset>  

As consultas DMV retornam informações sobre o estado do servidor e do objeto no momento em que a consulta é executada. Para monitorar as operações em tempo real, use o rastreamento. Para saber mais sobre o monitoramento em tempo real usando rastreamentos, consulte Usar SQL Server Profiler para monitorar o Analysis Services.

Sintaxe de consulta

O mecanismo de consulta para DMVs é o analisador de Mineração de Dados. A sintaxe da consulta DMV baseia-se na instrução SELECT (DMX). Embora a sintaxe da consulta DMV se baseie em uma instrução SQL SELECT, ela não oferece suporte à sintaxe completa de uma instrução SELECT. Em especial, não há suporte para JOIN, GROUP BY, LIKE, CAST e CONVERT.

SELECT [DISTINCT] [TOP <n>] <select list>  
FROM $System.<schemaRowset>  
[WHERE <condition expression>]  
[ORDER BY <expression>[DESC|ASC]]  

O exemplo a seguir para DISCOVER_CALC_DEPENDENCY demonstra o uso da cláusula WHERE para fornecer um parâmetro à consulta:

SELECT * FROM $System.DISCOVER_CALC_DEPENDENCY  
WHERE OBJECT_TYPE = 'ACTIVE_RELATIONSHIP'  

Para conjuntos de linhas de esquema que têm restrições, a consulta deve incluir a função SYSTEMRESTRICTSCHEMA. O exemplo a seguir retorna metadados CSDL sobre modelos tabulares de nível de compatibilidade 1103. Observe que CATALOG_NAME diferencia maiúsculas e minúsculas:

Select * from SYSTEMRESTRICTSCHEMA ($System.Discover_csdl_metadata, [CATALOG_NAME] = 'Adventure Works DW')  

Exemplos e cenários

Uma consulta DMV pode ajudá-lo a responder perguntas sobre sessões ativas e conexões e quais objetos estão consumindo a maior parte da CPU ou da memória em um determinado momento. Por exemplo:

Select * from $System.discover_object_activity
Essa consulta relata a atividade do objeto desde que o serviço foi iniciado pela última vez.

Select * from $System.discover_object_memory_usage
Essa consulta relata o consumo de memória por objeto.

Select * from $System.discover_sessions
Essa consulta relata sessões ativas, incluindo o usuário da sessão e a duração.

Select * from $System.discover_locks
Essa consulta retorna uma instantâneo dos bloqueios usados em um ponto específico no tempo.

Ferramentas e permissões

Você pode usar qualquer aplicativo cliente que dê suporte a consultas MDX ou DMX. Na maioria dos casos, é melhor usar SQL Server Management Studio. Você deve ter permissões de administrador de servidor na instância para consultar uma DMV.

Para executar uma consulta DMV de SQL Server Management Studio

  1. Conecte-se ao servidor e ao objeto de modelo que você deseja consultar.
  2. Clique com o botão direito do mouse no objeto > de servidor ou banco de dados Nova Consulta>MDX.
  3. Digite sua consulta e clique em Executar ou pressione F5.

Conjuntos de linhas do esquema

Nem todos os conjuntos de linhas de esquema têm uma interface DMV. Para retornar uma lista de todos os conjuntos de linhas de esquema que possam ser consultadas usando DMV, execute a consulta a seguir.

SELECT * FROM $System.DBSchema_Tables   
WHERE TABLE_TYPE = 'SCHEMA'   
ORDER BY TABLE_NAME ASC  

Se uma DMV não estiver disponível para um determinado conjunto de linhas, o servidor retornará o erro: The <schemarowset> request type was not recognized by the server. Todos os outros erros indicam problemas com a sintaxe.

Os conjuntos de linhas de esquema são descritos em dois protocolos SQL Server Analysis Services:

[MS-SSAS-T]: SQL Server Analysis Services Protocolo Tabular – descreve conjuntos de linhas de esquema para modelos tabulares nos níveis de compatibilidade 1200 e superiores.

[MS-SSAS]: protocolo SQL Server Analysis Services – descreve conjuntos de linhas de esquema para modelos multidimensionais e modelos tabulares nos níveis de compatibilidade 1100 e 1103.

Conjuntos de linhas descritos no [MS-SSAS-T]: SQL Server Analysis Services Protocolo Tabular

Observação: essa lista pode estar incompleta. Consulte os protocolos [MS-SSAS-T] e [MS-SSAS] para obter o mais recente.

Conjunto de linhas Descrição
TMSCHEMA_ANNOTATIONS Fornece informações sobre os objetos Annotation no modelo.
TMSCHEMA_ATTRIBUTE_HIERARCHIES Fornece informações sobre os objetos AttributeHierarchy para uma coluna.
TMSCHEMA_CALCULATION_ITEMS Fornece informações sobre os objetos CalculationItem no modelo tabular.
TMSCHEMA_CALCULATION_GROUPS Fornece informações sobre os objetos CalculationGroup no modelo tabular.
TMSCHEMA_COLUMNS Fornece informações sobre os objetos Column em cada tabela.
TMSCHEMA_COLUMN_PERMISSIONS Fornece informações sobre os objetos ColumnPermission em cada permissão de tabela.
TMSCHEMA_CULTURES Fornece informações sobre os objetos Culture no modelo.
TMSCHEMA_DATA_SOURCES Fornece informações sobre os objetos DataSource no modelo.
TMSCHEMA_DETAIL_ROWS_DEFINITIONS Fornece informações sobre os objetos DetailRowsDefinition no modelo.
TMSCHEMA_EXPRESSIONS Fornece informações sobre os objetos Expression no modelo.
TMSCHEMA_FORMAT_STRING_DEFINITIONS Fornece informações sobre os objetos FormatStringDefinition no modelo tabular.
TMSCHEMA_EXTENDED_PROPERTIES Fornece informações sobre os objetos ExtendedProperty no modelo.
TMSCHEMA_HIERARCHIES Fornece informações sobre os objetos Hierarchy em cada tabela.
TMSCHEMA_KPIS Fornece informações sobre os objetos KPI no modelo.
TMSCHEMA_LEVELS Fornece informações sobre os objetos Level em cada hierarquia.
TMSCHEMA_LINGUISTIC_METADATA Fornece informações sobre os sinônimos de objetos no modelo para uma cultura específica
TMSCHEMA_MEASURES Fornece informações sobre os objetos Measure em cada tabela.
TMSCHEMA_MODEL Especifica um objeto Model no banco de dados.
TMSCHEMA_OBJECT_TRANSLATIONS Fornece informações sobre as traduções de objetos diferentes para uma cultura.
TMSCHEMA_PARTITIONS Fornece informações sobre os objetos Partition em cada tabela.
TMSCHEMA_PERSPECTIVE_COLUMNS Fornece informações sobre os objetos PerspectiveColumn em cada objeto PerspectiveTable.
TMSCHEMA_PERSPECTIVE_HIERARCHIES Fornece informações sobre os objetos PerspectiveHierarchy em cada objeto PerspectiveTable.
TMSCHEMA_PERSPECTIVE_MEASURES Fornece informações sobre os objetos PerspectiveMeasure em cada objeto PerspectiveTable.
TMSCHEMA_PERSPECTIVE_TABLES Fornece informações sobre os objetos Table em uma perspectiva.
TMSCHEMA_PERSPECTIVES Fornece informações sobre os objetos Perspective no modelo.
TMSCHEMA_QUERY_GROUPS Fornece informações sobre os objetos QueryGroup no modelo tabular.
TMSCHEMA_RELATIONSHIPS Fornece informações sobre os objetos Relationship no modelo.
TMSCHEMA_ROLE_MEMBERSHIPS Fornece informações sobre os objetos RoleMembership em cada função.
TMSCHEMA_ROLES Fornece informações sobre os objetos Role no modelo.
TMSCHEMA_TABLE_PERMISSIONS Fornece informações sobre os objetos TablePermission em cada função.
TMSCHEMA_TABLES Fornece informações sobre os objetos Table no modelo.
TMSCHEMA_VARIATIONS Fornece informações sobre os objetos Variation em cada coluna.

Conjuntos de linhas descritos no [MS-SSAS]: Protocolo SQL Server Analysis Services

Conjunto de linhas Descrição
DBSCHEMA_CATALOGS Descreve os catálogos acessíveis no servidor.
DBSCHEMA_COLUMNS Retorna uma linha para cada medida, cada atributo de dimensão de cubo e cada coluna de conjunto de linhas de esquema, exposta como uma coluna.
DBSCHEMA_PROVIDER_TYPES Identifica os tipos de dados (base) compatíveis com o servidor.
DBSCHEMA_TABLES Retorna dimensões, grupos de medidas ou conjuntos de linhas de esquema expostos como tabelas.
DISCOVER_CALC_DEPENDENCY Retorna informações sobre a dependência de cálculo de um objeto especificado em um banco de dados Tabular ou em uma consulta DAX executada em um banco de dados Tabular.

Nota: O conjunto de linhas DISCOVER_CALC_DEPENDENCY pode ser usado para analisar dependências e extrair expressões DAX de modelos semânticos hospedados no Power BI usando pontos de extremidade XMLA. No entanto, o conjunto de linhas DISCOVER_CALC_DEPENDENCY não inclui dependências M para modelos semânticos com Metadados Avançados habilitados, como consultas M mescladas ou acrescentadas e parâmetros M.
DISCOVER_COMMAND_OBJECTS Oferece uso de recursos e informações de atividade sobre os objetos em uso pelo comando referenciado.
DISCOVER_COMMANDS Oferece uso do recurso e informações de atividade sobre os comandos em execução ou sobre os últimos comandos executados nas conexões abertas no servidor.
DISCOVER_CONNECTIONS Oferece uso de recursos e de informações de atividade sobre as conexões atualmente abertas no servidor.
DISCOVER_CSDL_METADATA Retorna informações sobre metadados de banco de dados para bancos de dados na memória.
DISCOVER_DATASOURCES Retorna uma lista das fontes de dados disponíveis no servidor.
DISCOVER_DB_CONNECTIONS Oferece uso de recursos e de informações de atividade sobre as conexões abertas no momento do servidor para um banco de dados.
DISCOVER_DB_MEM_STATS Fornece informações grosseiras sobre os rastreadores de memória que estão ativos no servidor. Os dados são agregados no nível do banco de dados e do sistema.
DISCOVER_DIMENSION_STAT retorna estatísticas na dimensão especificada.
DISCOVER_ENUMERATORS Retorna uma lista de nomes, tipos de dados e valores de enumeração dos enumeradores que recebem suporte do provedor do XMLA para uma fonte de dados específica.
DISCOVER_INSTANCES Descreve as instâncias no servidor.
DISCOVER_JOBS Oferece informações sobre os trabalhos ativos em execução no servidor. O trabalho é uma parte do comando que executa uma tarefa específica em nome desse comando.
DISCOVER_KEYWORDS (XMLA) Retorna informações sobre palavras-chave reservadas pelo servidor XMLA.
DISCOVER_LITERALS Retorna informações sobre literais compatíveis com o servidor.
DISCOVER_LOCATIONS Retorna informações sobre o conteúdo de um arquivo de backup.
DISCOVER_LOCKS Oferece informações sobre os bloqueios atuais no servidor.
DISCOVER_MASTER_KEY Retorna a chave de criptografia master do servidor.
DISCOVER_MEM_STATS Fornece informações refinadas sobre todos os rastreadores de memória que estão ativos no servidor.
DISCOVER_MEMORYGRANT Retorna uma lista de concessões de cota de memória interna que são usadas por trabalhos atualmente em execução no servidor.
DISCOVER_MEMORYUSAGE Retorna as estatísticas DISCOVER_MEMORYUSAGE de vários objetos alocados pelo servidor.
DISCOVER_OBJECT_ACTIVITY Oferece uso de recursos por objeto desde o início do serviço.
DISCOVER_OBJECT_MEMORY_USAGE Retorna as estatísticas DISCOVER_MEMORYUSAGE de vários objetos alocados pelo servidor.
DISCOVER_PARTITION_DIMENSION_STAT Retorna estatísticas sobre a dimensão associada a uma partição.
DISCOVER_PARTITION_STAT Retorna estatísticas sobre agregações em uma partição específica.
DISCOVER_PERFORMANCE_COUNTERS Retorna o valor de um ou mais contadores de desempenho especificados.
DISCOVER_PROPERTIES Retorna uma lista de informações e valores sobre as propriedades compatíveis com o servidor para a fonte de dados especificada.
DISCOVER_RING_BUFFERS Retorna informações sobre os buffers de anel XEvent atuais no servidor.
DISCOVER_SCHEMA_ROWSETS Retorna os nomes, restrições, descrição e outras informações para todas as solicitações de Descoberta.
DISCOVER_SESSIONS Oferece uso de recursos e de informações de atividade sobre as sessões atualmente abertas no servidor.
DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS Retorna informações sobre os segmentos de coluna usados para armazenar dados para tabelas na memória.
DISCOVER_STORAGE_TABLE_COLUMNS Contém informações sobre as colunas usadas para representar as colunas de uma tabela na memória.
DISCOVER_STORAGE_TABLES Retorna estatísticas sobre tabelas na memória disponíveis para o servidor.
DISCOVER_TRACE_COLUMNS
DISCOVER_TRACE_DEFINITION_PROVIDERINFO Contém o conjunto de linhas de esquema DISCOVER_TRACE_COLUMNS.
DISCOVER_TRACE_EVENT_CATEGORIES Contém o conjunto de linhas de esquema DISCOVER_TRACE_EVENT_CATEGORIES.
DISCOVER_TRACES Contém o conjunto de linhas do esquema DISCOVER_TRACES.
DISCOVER_TRANSACTIONS Retorna o conjunto atual de transações pendentes no sistema.
DISCOVER_XEVENT_TRACE_DEFINITION Fornece informações sobre os rastreamentos XEvent que estão ativos no momento no servidor.
DISCOVER_XEVENT_PACKAGES Fornece informações sobre os pacotes XEvent descritos no servidor.
DISCOVER_XEVENT_OBJECTS Fornece informações sobre os objetos XEvent descritos no servidor.
DISCOVER_XEVENT_OBJECT_COLUMNS Fornece informações sobre o esquema de objetos XEvent descritos no servidor.
DISCOVER_XEVENT_SESSIONS Fornece informações sobre as sessões XEvent atuais no servidor.
DISCOVER_XEVENT_SESSION_TARGETS Fornece informações sobre os destinos de sessão XEvent atuais no servidor.
DISCOVER_XML_METADATA Retorna um conjunto de linhas com uma linha e uma coluna.
DMSCHEMA_MINING_COLUMNS Descreve as colunas individuais de todos os modelos de mineração de dados descritos que são implantados no servidor.
DMSCHEMA_MINING_FUNCTIONS Descreve as funções de mineração de dados compatíveis com os algoritmos de mineração de dados que estão disponíveis em um servidor que está executando o Analysis Services.
DMSCHEMA_MINING_MODEL_CONTENT Permite que o aplicativo cliente navegue pelo conteúdo de um modelo de mineração de dados treinado.
DMSCHEMA_MINING_MODEL_CONTENT_PMML Retorna a estrutura XML do modelo de mineração. O formato da cadeia de caracteres XML segue o padrão PMML 2.1.
DMSCHEMA_MINING_MODEL_XML Retorna a estrutura XML do modelo de mineração. O formato da cadeia de caracteres XML segue o padrão PMML 2.1.
DMSCHEMA_MINING_MODELS Enumera os modelos de mineração de dados implantados no servidor.
DMSCHEMA_MINING_SERVICE_PARAMETERS Oferece uma lista de parâmetros que podem ser usados na configuração do comportamento de cada algoritmo de mineração de dados instalado no servidor.
DMSCHEMA_MINING_SERVICES Fornece informações sobre cada algoritmo de mineração de dados compatível com o servidor.
DMSCHEMA_MINING_STRUCTURE_COLUMNS Descreve as colunas individuais de todas as estruturas de mineração implantadas no servidor.
DMSCHEMA_MINING_STRUCTURES Enumera informações sobre as estruturas de mineração no catálogo atual.
MDSCHEMA_ACTIONS Descreve as ações que podem estar disponíveis para o aplicativo cliente.
MDSCHEMA_CUBES Descreve a estrutura de cubos dentro de um banco de dados. As perspectivas também são retornadas neste esquema.
MDSCHEMA_DIMENSIONS Descreve as dimensões dentro de um banco de dados.
MDSCHEMA_FUNCTIONS Retorna informações sobre as funções que estão disponíveis no momento para uso nas linguagens DAX e MDX.
MDSCHEMA_HIERARCHIES Descreve cada hierarquia dentro de determinada dimensão.
MDSCHEMA_INPUT_DATASOURCES Descreve os objetos de fonte de dados descritos no banco de dados.
MDSCHEMA_KPIS Descreve os KPIs em um banco de dados.
MDSCHEMA_LEVELS Descreve cada nível dentro de uma hierarquia específica.
MDSCHEMA_MEASUREGROUP_DIMENSIONS Enumera as dimensões de grupos de medidas.
MDSCHEMA_MEASUREGROUPS Descreve os grupos de medidas dentro de um banco de dados.
MDSCHEMA_MEASURES Descreve cada medida.
MDSCHEMA_MEMBERS Descreve os membros dentro de um banco de dados.
MDSCHEMA_PROPERTIES Descreve as propriedades de membros e propriedades de célula.
MDSCHEMA_SETS Descreve todos os conjuntos descritos atualmente em um banco de dados, incluindo conjuntos com escopo de sessão.

Observação

As DMVs STORAGES não têm um conjunto de linhas de esquema descrito no protocolo.