Vues de gestion dynamique

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

Les vues de gestion dynamique (DMV) Analysis Services sont des requêtes qui retournent des informations sur les objets de modèle, les opérations du 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 Power BI Premium modèles sémantiques, les DMV pour l’interrogation via le point de terminaison XMLA sont limités à ceux 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 des commandes Discover XML/A. 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 qui est 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 plutôt le suivi. 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 d'interrogation des vues 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. Notez que 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 la fourniture d'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 sur les modèles tabulaires de niveau de compatibilité 1103. Notez que CATALOG_NAME respecte 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 les connexions actives, ainsi que sur les objets qui consomment le plus d'UC ou de mémoire à un moment précis. Par exemple :

Select * from $System.discover_object_activity
Cette requête signale l’activité des objets depuis le dernier démarrage du service.

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

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

Select * from $System.discover_locks
Cette requête retourne une 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 disposer des autorisations d’administrateur de serveur sur le 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.

Jeux de lignes du schéma

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

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

Si un DMV n’est pas disponible pour un ensemble de lignes donné, le serveur retourne l’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. Pour obtenir les dernières informations, reportez-vous aux protocoles [MS-SSAS-T] et [MS-SSAS].

Ensemble de lignes Description
TMSCHEMA_ANNOTATIONS Fournit des informations sur les objets Annotation dans le modèle.
TMSCHEMA_ATTRIBUTE_HIERARCHIES Fournit des informations sur les objets AttributeHierarchy pour 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 Column dans chaque table.
TMSCHEMA_COLUMN_PERMISSIONS Fournit des informations sur les objets ColumnPermission dans chaque table-permission.
TMSCHEMA_CULTURES Fournit des informations sur les objets 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 Measure dans chaque table.
TMSCHEMA_MODEL Spécifie un objet Model dans la base de données.
TMSCHEMA_OBJECT_TRANSLATIONS Fournit des informations sur les traductions de différents objets pour une culture.
TMSCHEMA_PARTITIONS Fournit des informations sur les objets 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 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] : SQL Server Analysis Services

Ensemble de lignes Description
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.
DISCOVER_CALC_DEPENDENCY 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 de dépendances M pour les modèles sémantiques avec les métadonnées améliorées activées, comme les requêtes M fusionnées ou ajoutées et les paramètres M.
DISCOVER_COMMAND_OBJECTS Fournit des informations sur l'activité et l'utilisation des ressources des objets actuellement utilisés par la commande référencée.
DISCOVER_COMMANDS Fournit des informations sur l'activité et l'utilisation des ressources des dernières commandes exécutées ou des commandes en cours d'exécution sur les connexions ouvertes sur le serveur.
DISCOVER_CONNECTIONS Fournit des informations sur l'activité et l'utilisation des ressources des connexions actuellement ouvertes sur le serveur.
DISCOVER_CSDL_METADATA 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'activité et l'utilisation des ressources des connexions actuellement ouvertes du serveur à une base de données.
DISCOVER_DB_MEM_STATS Fournit des informations grossières sur les trackers 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 des noms, types de données et valeurs d'énumération d'é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 exécutés sur le serveur. Un travail fait une 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 actuellement en place sur le serveur.
DISCOVER_MASTER_KEY Retourne la clé de chiffrement master du serveur.
DISCOVER_MEM_STATS Fournit des informations affinées sur tous les trackers de mémoire actifs sur le serveur.
DISCOVER_MEMORYGRANT Retourne la liste des allocations de quotas de mémoire interne qui sont prises par les travaux en cours d'exécution sur le serveur.
DISCOVER_MEMORYUSAGE Retourne les statistiques DISCOVER_MEMORYUSAGE pour plusieurs objets alloués par le serveur.
DISCOVER_OBJECT_ACTIVITY Fournit l'utilisation des ressources par objet depuis le démarrage du service.
DISCOVER_OBJECT_MEMORY_USAGE Retourne les statistiques DISCOVER_MEMORYUSAGE pour plusieurs 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.
DISCOVER_PERFORMANCE_COUNTERS Retourne la valeur d'un ou de plusieurs compteurs de performance spécifiés.
DISCOVER_PROPERTIES 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 en anneau XEvent actuelles sur le serveur.
DISCOVER_SCHEMA_ROWSETS Retourne les noms, les restrictions, la description et d’autres informations pour toutes les demandes Discover.
DISCOVER_SESSIONS Fournit des informations sur l'activité et l'utilisation des ressources des sessions actuellement ouvertes sur le serveur.
DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS Retourne des informations sur les segments de colonne utilisés pour stocker les données des 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.
DISCOVER_STORAGE_TABLES 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.
DISCOVER_TRACE_EVENT_CATEGORIES Contient l’ensemble de lignes de schéma DISCOVER_TRACE_EVENT_CATEGORIES.
DISCOVER_TRACES Contient l’ensemble de lignes de schéma DISCOVER_TRACES.
DISCOVER_TRANSACTIONS Retourne l'ensemble actuel des 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.
DISCOVER_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 qui exécute 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 pouvant ê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 de toutes les structures d'exploration de données qui sont déployées sur le serveur.
DMSCHEMA_MINING_STRUCTURES Fournit des informations sur les structures d'exploration de données contenues 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 d'une base de données. Les perspectives sont également retournées dans ce schéma.
MDSCHEMA_DIMENSIONS Décrit les dimensions d’une base de données.
MDSCHEMA_FUNCTIONS Retourne des informations sur les fonctions actuellement disponibles 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 dans une hiérarchie particulière.
MDSCHEMA_MEASUREGROUP_DIMENSIONS Énumère les dimensions des groupes de mesures.
MDSCHEMA_MEASUREGROUPS Décrit les groupes de mesures 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 jeux étendus à la session.

Notes

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