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
- Connectez-vous au serveur et à l’objet de modèle que vous souhaitez interroger.
- Cliquez avec le bouton droit sur le serveur ou l’objet > de base de données New Query>MDX.
- 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.