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
- Conecte-se ao servidor e ao objeto de modelo que você deseja consultar.
- Clique com o botão direito do mouse no objeto > de servidor ou banco de dados Nova Consulta>MDX.
- 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.