Partager via


Vues de gestion dynamique (DMV)

S’applique à : SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Les vues de gestion dynamique Analysis Services (DMV) sont des requêtes qui retournent des informations sur les objets de modèle, les opérations serveur et l’intégrité du serveur. La requête, basée sur SQL, est une interface pour les ensembles de lignes de schéma. Les ensembles de lignes de schéma sont des tables prédécrites qui contiennent des informations sur les objets Analysis Services et l’état du serveur, notamment le schéma de base de données, les sessions actives, les connexions, les commandes et les travaux qui s’exécutent sur le serveur.

Pour les modèles sémantiques Power BI Premium, les DMV pour l’interrogation via le point de terminaison XMLA sont limitées à celles qui nécessitent des autorisations d’administrateur de base de données. Certains DMV ne sont pas pris en charge, car ils nécessitent des autorisations d’administrateur de serveur Analysis Services.

Les requêtes DMV sont une alternative à l’exécution de commandes XML/A Discover. Pour la plupart des administrateurs, l’écriture d’une requête DMV est plus simple, car la syntaxe est basée sur SQL. En outre, le résultat est retourné dans un format de tableau plus facile à lire et à copier.

La plupart des requêtes DMV utilisent une instruction SELECT et le schéma $System avec un ensemble de lignes de schéma XML/A, par exemple :

SELECT * FROM $System.<schemaRowset>  

Les requêtes DMV retournent des informations sur l’état du serveur et de l’objet au moment de l’exécution de la requête. Pour surveiller les opérations en temps réel, utilisez le suivi à la place. Pour en savoir plus sur la surveillance en temps réel à l’aide de traces, consultez Utiliser SQL Server Profiler pour surveiller Analysis Services.

Syntaxe de requête

Le moteur de requête pour les DMV est l’analyseur d’exploration de données. La syntaxe de requête DMV est basée sur l’instruction SELECT (DMX). Bien que la syntaxe de requête DMV soit basée sur une instruction SQL SELECT, elle ne prend pas en charge la syntaxe complète d’une instruction SELECT. Notamment, JOIN, GROUP BY, LIKE, CAST et CONVERT ne sont pas pris en charge.

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

L’exemple suivant pour DISCOVER_CALC_DEPENDENCY illustre l’utilisation de la clause WHERE pour fournir un paramètre à la requête :

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

Pour les ensembles de lignes de schéma qui ont des restrictions, la requête doit inclure la fonction SYSTEMRESTRICTSCHEMA. L’exemple suivant retourne les métadonnées CSDL d’environ 1103 modèles tabulaires de niveau de compatibilité. Notez que CATALOG_NAME est sensible à la casse :

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

Exemples et scénarios

Une requête DMV peut vous aider à répondre à des questions sur les sessions et connexions actives, ainsi que sur les objets qui consomment le plus d’UC ou de mémoire à un moment donné. Par exemple:

Select * from $System.discover_object_activity
Cette requête signale l’activité d’objet depuis la dernière activation du service.

Select * from $System.discover_object_memory_usage
Cette requête signale la consommation de mémoire par objet.

Select * from $System.discover_sessions
Cette requête signale les sessions actives, y compris l’utilisateur de session et la durée.

Select * from $System.discover_locks
Cette requête retourne un instantané des verrous utilisés à un moment donné.

Outils et autorisations

Vous pouvez utiliser n’importe quelle application cliente qui prend en charge les requêtes MDX ou DMX. Dans la plupart des cas, il est préférable d’utiliser SQL Server Management Studio. Vous devez avoir les droits d'administrateur du serveur sur l'instance pour interroger une DMV.

Pour exécuter une requête DMV à partir de SQL Server Management Studio

  1. Connectez-vous au serveur et à l’objet de modèle que vous souhaitez interroger.
  2. Cliquez avec le bouton droit sur le serveur ou l’objet > de base de données New Query>MDX.
  3. Tapez votre requête, puis cliquez sur Exécuter, ou appuyez sur F5.

Ensembles de lignes de schéma

Tous les ensembles de lignes de schéma n’ont pas d’interface DMV. Pour renvoyer une liste de tous les ensembles de lignes de schéma qui peuvent être interrogés à l’aide de DMV, exécutez la requête suivante.

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

Si une DMV n’est pas disponible pour un ensemble de lignes donné, le serveur retourne une erreur : The <schemarowset> request type was not recognized by the server. toutes les autres erreurs indiquent des problèmes avec la syntaxe.

Les ensembles de lignes de schéma sont décrits dans deux protocoles SQL Server Analysis Services :

[MS-SSAS-T] : protocole tabulaire SQL Server Analysis Services : décrit les ensembles de lignes de schéma pour les modèles tabulaires aux niveaux de compatibilité 1200 et supérieurs.

[MS-SSAS] : protocole SQL Server Analysis Services : décrit les ensembles de lignes de schéma pour les modèles multidimensionnels et les modèles tabulaires aux niveaux de compatibilité 1100 et 1103.

Ensembles de lignes décrits dans le [MS-SSAS-T] : protocole tabulaire SQL Server Analysis Services

Remarque : cette liste peut être incomplète. Reportez-vous aux protocoles [MS-SSAS-T] et [MS-SSAS] les plus récents.

Ensemble de lignes Descriptif
TMSCHEMA_ANNOTATIONS Fournit des informations sur les objets Annotation dans le modèle.
TMSCHEMA_ATTRIBUTE_HIERARCHIES Fournit des informations sur les objets AttributeHierarchy d’une colonne.
TMSCHEMA_CALCULATION_ITEMS Fournit des informations sur les objets CalculationItem dans le modèle tabulaire.
TMSCHEMA_CALCULATION_GROUPS Fournit des informations sur les objets CalculationGroup dans le modèle tabulaire.
TMSCHEMA_COLUMNS Fournit des informations sur les objets de colonne dans chaque table.
TMSCHEMA_COLUMN_PERMISSIONS Fournit des informations sur les objets ColumnPermission dans chaque autorisation de table.
TMSCHEMA_CULTURES Fournit des informations sur les objets de culture dans le modèle.
TMSCHEMA_DATA_SOURCES Fournit des informations sur les objets DataSource dans le modèle.
TMSCHEMA_DETAIL_ROWS_DEFINITIONS Fournit des informations sur les objets DetailRowsDefinition dans le modèle.
TMSCHEMA_EXPRESSIONS Fournit des informations sur les objets Expression dans le modèle.
TMSCHEMA_FORMAT_STRING_DEFINITIONS Fournit des informations sur les objets FormatStringDefinition dans le modèle tabulaire.
TMSCHEMA_EXTENDED_PROPERTIES Fournit des informations sur les objets ExtendedProperty dans le modèle.
TMSCHEMA_HIERARCHIES Fournit des informations sur les objets Hierarchy dans chaque table.
TMSCHEMA_KPIS Fournit des informations sur les objets KPI dans le modèle.
TMSCHEMA_LEVELS Fournit des informations sur les objets Level dans chaque hiérarchie.
TMSCHEMA_LINGUISTIC_METADATA Fournit des informations sur les synonymes des objets dans le modèle pour une culture particulière
TMSCHEMA_MEASURES Fournit des informations sur les objets Mesure dans chaque table.
TMSCHEMA_MODEL Spécifie un objet Model dans la base de données.
TMSCHEMA_OBJECT_TRANSLATIONS Fournit des informations concernant les traductions de différents objets pour une culture.
TMSCHEMA_PARTITIONS Fournit des informations sur les objets de partition dans chaque table.
TMSCHEMA_PERSPECTIVE_COLUMNS Fournit des informations sur les objets PerspectiveColumn dans chaque objet PerspectiveTable.
TMSCHEMA_PERSPECTIVE_HIERARCHIES Fournit des informations sur les objets PerspectiveHierarchy dans chaque objet PerspectiveTable.
TMSCHEMA_PERSPECTIVE_MEASURES Fournit des informations sur les objets PerspectiveMeasure dans chaque objet PerspectiveTable.
TMSCHEMA_PERSPECTIVE_TABLES Fournit des informations sur les objets de type Table dans une perspective.
TMSCHEMA_PERSPECTIVES Fournit des informations sur les objets Perspective dans le modèle.
TMSCHEMA_QUERY_GROUPS Fournit des informations sur les objets QueryGroup dans le modèle tabulaire.
TMSCHEMA_RELATIONSHIPS Fournit des informations sur les objets Relation dans le modèle.
TMSCHEMA_ROLE_MEMBERSHIPS Fournit des informations sur les objets RoleMembership dans chaque rôle.
TMSCHEMA_ROLES Fournit des informations sur les objets Role dans le modèle.
TMSCHEMA_TABLE_PERMISSIONS Fournit des informations sur les objets TablePermission dans chaque rôle.
TMSCHEMA_TABLES Fournit des informations sur les objets Table dans le modèle.
TMSCHEMA_VARIATIONS Fournit des informations sur les objets Variation dans chaque colonne.

Ensembles de lignes décrits dans le protocole [MS-SSAS] : protocole SQL Server Analysis Services

Ensemble de lignes Descriptif
DBSCHEMA_CATALOGS Décrit les catalogues accessibles sur le serveur.
DBSCHEMA_COLUMNS Retourne une ligne pour chaque mesure, chaque attribut de dimension de cube et chaque colonne d’ensemble de lignes de schéma, exposée sous forme de colonne.
DBSCHEMA_PROVIDER_TYPES Identifie les types de données (de base) pris en charge par le serveur.
DBSCHEMA_TABLES Retourne des dimensions, des groupes de mesures ou des ensembles de lignes de schéma exposés sous forme de tables.
DÉCOUVRIR_DÉPENDANCE_CALCUL Retourne des informations sur la dépendance de calcul d’un objet spécifié dans une base de données tabulaire ou dans une requête DAX exécutée sur une base de données tabulaire.

Note: L’ensemble de lignes DISCOVER_CALC_DEPENDENCY peut être utilisé pour analyser les dépendances et extraire des expressions DAX à partir de modèles sémantiques hébergés dans Power BI à l’aide de points de terminaison XMLA. Toutefois, l’ensemble de lignes DISCOVER_CALC_DEPENDENCY n’inclut pas les dépendances M pour les modèles sémantiques avec les métadonnées améliorées activées, telles que les requêtes M fusionnées ou ajoutées et les paramètres M.
DISCOVER_COMMAND_OBJECTS Fournit des informations sur l’utilisation et l’activité des ressources sur les objets utilisés par la commande référencée.
DISCOVER_COMMANDS Fournit des informations sur l’utilisation et l’activité des ressources sur les commandes en cours d’exécution ou les dernières commandes exécutées sur les connexions ouvertes sur le serveur.
DISCOVER_CONNECTIONS Fournit des informations sur l’utilisation des ressources et l’activité sur les connexions actuellement ouvertes sur le serveur.
DÉCOUVRIR_MÉTADONNÉES_CSDL Retourne des informations sur les métadonnées de base de données pour les bases de données en mémoire.
DISCOVER_DATASOURCES Retourne une liste des sources de données disponibles sur le serveur.
DISCOVER_DB_CONNECTIONS Fournit des informations sur l’utilisation et l’activité des ressources sur les connexions actuellement ouvertes du serveur à une base de données.
DISCOVER_DB_MEM_STATS Fournit des informations grossières sur les suivis de mémoire actifs sur le serveur. Les données sont agrégées au niveau de la base de données et du système.
DISCOVER_DIMENSION_STAT retourne des statistiques sur la dimension spécifiée.
DISCOVER_ENUMERATORS Retourne une liste de noms, de types de données et de valeurs d’énumération des énumérateurs pris en charge par le fournisseur XMLA pour une source de données spécifique.
DISCOVER_INSTANCES Décrit les instances sur le serveur.
DISCOVER_JOBS Fournit des informations sur les travaux actifs en cours d’exécution sur le serveur. Un travail fait partie d’une commande qui exécute une tâche spécifique pour le compte de la commande.
DISCOVER_KEYWORDS (XMLA) Retourne des informations sur les mots clés réservés par le serveur XMLA.
DISCOVER_LITERALS Retourne des informations sur les littéraux pris en charge par le serveur.
DISCOVER_LOCATIONS Retourne des informations sur le contenu d’un fichier de sauvegarde.
DISCOVER_LOCKS Fournit des informations sur les verrous permanents actuels sur le serveur.
DISCOVER_MASTER_KEY Retourne la clé de chiffrement principale du serveur.
DISCOVER_MEM_STATS Fournit des informations affinées sur tous les suivis de mémoire actifs sur le serveur.
DISCOVER_MEMORYGRANT Retourne la liste des allocations de quota de mémoire interne prises par les travaux en cours d’exécution sur le serveur.
DISCOVER_MEMORYUSAGE Retourne les statistiques DISCOVER_MEMORYUSAGE pour différents objets alloués par le serveur.
DISCOVER_OBJECT_ACTIVITY Fournit l’utilisation des ressources par objet depuis le début du service.
DÉCOUVRIR_UTILISATION_MÉMOIRE_OBJET Retourne les statistiques DISCOVER_MEMORYUSAGE pour différents objets alloués par le serveur.
DISCOVER_PARTITION_DIMENSION_STAT Retourne des statistiques sur la dimension associée à une partition.
DISCOVER_PARTITION_STAT Retourne des statistiques sur les agrégations dans une partition particulière.
DÉCOUVRIR_COMPTEURS_DE_PERFORMANCE Retourne la valeur d’un ou plusieurs compteurs de performances spécifiés.
DÉCOUVRIR_LES_PROPRIÉTÉS Retourne une liste d’informations et de valeurs sur les propriétés prises en charge par le serveur pour la source de données spécifiée.
DISCOVER_RING_BUFFERS Retourne des informations sur les mémoires tampons d’anneau XEvent actuelles sur le serveur.
DISCOVER_SCHEMA_ROWSETS Retourne les noms, descriptions, restrictions et autres informations pour toutes les demandes de découverte.
DÉCOUVRIR_SESSIONS Fournit des informations sur l’utilisation des ressources et l’activité sur les sessions actuellement ouvertes sur le serveur.
DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS Retourne des informations sur les segments de colonne utilisés pour stocker des données pour les tables en mémoire.
DISCOVER_STORAGE_TABLE_COLUMNS Contient des informations sur les colonnes utilisées pour représenter les colonnes d’une table en mémoire.
DÉCOUVREZ_TABLES_DE_STOCKAGE Retourne des statistiques sur les tables en mémoire disponibles pour le serveur.
DISCOVER_TRACE_COLUMNS
DISCOVER_TRACE_DEFINITION_PROVIDERINFO Contient l’ensemble de lignes de schéma DISCOVER_TRACE_COLUMNS.
DÉCOUVRIR_CATEGORIES_D'ÉVÉNEMENTS_TRACE Contient l’ensemble de lignes de schéma DISCOVER_TRACE_EVENT_CATEGORIES.
DISCOVER_TRACES Contient l’ensemble de lignes de schéma DISCOVER_TRACES.
DÉCOUVRIR_TRANSACTIONS Retourne l’ensemble actuel de transactions en attente sur le système.
DISCOVER_XEVENT_TRACE_DEFINITION Fournit des informations sur les traces XEvent actuellement actives sur le serveur.
DISCOVER_XEVENT_PACKAGES Fournit des informations sur les packages XEvent décrits sur le serveur.
DISCOVER_XEVENT_OBJECTS Fournit des informations sur les objets XEvent décrits sur le serveur.
DISCOVER_XEVENT_OBJECT_COLUMNS Fournit des informations sur le schéma des objets XEvent décrits sur le serveur.
DISCOVER_XEVENT_SESSIONS Fournit des informations sur les sessions XEvent actuelles sur le serveur.
DISCOVER_XEVENT_SESSION_TARGETS Fournit des informations sur les cibles de session XEvent actuelles sur le serveur.
DÉCOUVRIR_XML_METADATA Retourne un ensemble de lignes avec une ligne et une colonne.
DMSCHEMA_MINING_COLUMNS Décrit les colonnes individuelles de tous les modèles d’exploration de données décrits qui sont déployés sur le serveur.
DMSCHEMA_MINING_FUNCTIONS Décrit les fonctions d’exploration de données prises en charge par les algorithmes d’exploration de données disponibles sur un serveur exécutant Analysis Services.
DMSCHEMA_MINING_MODEL_CONTENT Permet à l’application cliente de parcourir le contenu d’un modèle d’exploration de données entraîné.
DMSCHEMA_MINING_MODEL_CONTENT_PMML Retourne la structure XML du modèle d’exploration de données. Le format de la chaîne XML suit la norme PMML 2.1.
DMSCHEMA_MINING_MODEL_XML Retourne la structure XML du modèle d’exploration de données. Le format de la chaîne XML suit la norme PMML 2.1.
DMSCHEMA_MINING_MODELS Énumère les modèles d’exploration de données déployés sur le serveur.
DMSCHEMA_MINING_SERVICE_PARAMETERS Fournit la liste des paramètres qui peuvent être utilisés pour configurer le comportement de chaque algorithme d’exploration de données installé sur le serveur.
DMSCHEMA_MINING_SERVICES Fournit des informations sur chaque algorithme d’exploration de données pris en charge par le serveur.
DMSCHEMA_MINING_STRUCTURE_COLUMNS Décrit les colonnes individuelles de toutes les structures d’exploration de données déployées sur le serveur.
DMSCHEMA_MINING_STRUCTURES Énumère les informations sur les structures d’exploration de données dans le catalogue actuel.
MDSCHEMA_ACTIONS Décrit les actions qui peuvent être disponibles pour l’application cliente.
MDSCHEMA_CUBES Décrit la structure des cubes dans une base de données. Les perspectives sont également rendues dans ce cadre.
MDSCHEMA_DIMENSIONS Décrit les dimensions d’une base de données.
MDSCHEMA_FUNCTIONS Retourne des informations sur les fonctions actuellement disponibles pour une utilisation dans les langages DAX et MDX.
MDSCHEMA_HIERARCHIES Décrit chaque hiérarchie dans une dimension particulière.
MDSCHEMA_INPUT_DATASOURCES Décrit les objets de source de données décrits dans la base de données.
MDSCHEMA_KPIS Décrit les indicateurs de performance clés au sein d’une base de données.
MDSCHEMA_LEVELS Décrit chaque niveau au sein d’une hiérarchie particulière.
MDSCHEMA_MEASUREGROUP_DIMENSIONS Énumère les dimensions des groupes de mesures.
MDSCHEMA_MEASUREGROUPS Décrit les groupes de mesures au sein d’une base de données.
MDSCHEMA_MEASURES Décrit chaque mesure.
MDSCHEMA_MEMBERS Décrit les membres d’une base de données.
MDSCHEMA_PROPERTIES Décrit les propriétés des membres et des propriétés de cellule.
MDSCHEMA_SETS Décrit tous les ensembles actuellement décrits dans une base de données, y compris les ensembles à portée de session.

Note

Les DMV STORAGES n’ont pas d’ensemble de lignes de schéma décrit dans le protocole.