Dynamische Verwaltungssichten (DMVs)
Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Analysis Services Dynamic Management Views (DMVs) sind Abfragen, die Informationen zu Modellobjekten, Servervorgängen und Serverintegrität zurückgeben. Die auf SQL basierende Abfrage ist eine Schnittstelle für Schemarowsets. Schemarowsets sind vordefinierte Tabellen, die Informationen zu Analysis Services-Objekten und dem Serverstatus enthalten, einschließlich Datenbankschema, aktiven Sitzungen, Verbindungen, Befehlen und Aufträgen, die auf dem Server ausgeführt werden.
Bei Power BI Premium semantischen Modellen sind DMVs für Abfragen über den XMLA-Endpunkt auf diejenigen beschränkt, die Datenbankadministratorberechtigungen erfordern. Einige DMVs werden nicht unterstützt, da sie Analysis Services-Serveradministratorberechtigungen erfordern.
DMV-Abfragen stellen eine Alternative zur Ausführung von XML/A-Discover-Befehlen dar. Für die meisten Administratoren ist das Schreiben einer DMV-Abfrage einfacher, da die Syntax auf SQL basiert. Darüber hinaus wird das Ergebnis in einem Tabellenformat zurückgegeben, das einfacher zu lesen und zu kopieren ist.
Die meisten DMV-Abfragen verwenden eine SELECT-Anweisung und das $System Schema mit einem XML/A-Schemarowset, z. B.:
SELECT * FROM $System.<schemaRowset>
DMV-Abfragen geben Informationen zum Server- und Objektzustand zum Zeitpunkt der Abfrageausführung zurück. Verwenden Sie stattdessen die Ablaufverfolgung, um Vorgänge in Echtzeit zu überwachen. Weitere Informationen zur Echtzeitüberwachung mithilfe von Ablaufverfolgungen finden Sie unter Verwenden von SQL Server Profiler zum Überwachen von Analysis Services.
Abfragesyntax
Die Abfrage-Engine für DMVs ist der Data Mining-Parser. Die DMV-Abfragesyntax basiert auf der SELECT-Anweisung (DMX). Obwohl die DMV-Abfragesyntax auf einer SELECT-SQL-Anweisung basiert, bietet sie keine vollständige Unterstützung einer SELECT-Anweisung. JOIN, GROUP BY, LIKE, CAST und CONVERT werden z. B. nicht unterstützt.
SELECT [DISTINCT] [TOP <n>] <select list>
FROM $System.<schemaRowset>
[WHERE <condition expression>]
[ORDER BY <expression>[DESC|ASC]]
Im folgenden Beispiel für DISCOVER_CALC_DEPENDENCY wird die Verwendung der WHERE-Klausel zum Angeben eines Parameters für die Abfrage veranschaulicht:
SELECT * FROM $System.DISCOVER_CALC_DEPENDENCY
WHERE OBJECT_TYPE = 'ACTIVE_RELATIONSHIP'
Für Schemarowsets mit Einschränkungen muss die Abfrage die SYSTEMRESTRICTSCHEMA-Funktion enthalten. Im folgenden Beispiel werden CSDL-Metadaten zu tabellarischen Modellen des Kompatibilitätsgrads 1103 zurückgegeben. Beachten Sie, dass bei CATALOG_NAME Groß- und Kleinschreibung unterschieden wird:
Select * from SYSTEMRESTRICTSCHEMA ($System.Discover_csdl_metadata, [CATALOG_NAME] = 'Adventure Works DW')
Beispiele und Szenarien
Eine DMV-Abfrage kann Ihnen helfen, Fragen zu aktiven Sitzungen und Verbindungen sowie die Frage zu beantworten, welche Objekte zu einem bestimmten Zeitpunkt den höchsten CPU-Anteil oder den meisten Arbeitsspeicher nutzen. Beispiel:
Select * from $System.discover_object_activity
Diese Abfrage meldet die Objektaktivität seit dem letzten Start des Diensts.
Select * from $System.discover_object_memory_usage
Diese Abfrage meldet den Arbeitsspeicherverbrauch nach Objekt.
Select * from $System.discover_sessions
Diese Abfrage meldet aktive Sitzungen, einschließlich Sitzungsbenutzer und Dauer.
Select * from $System.discover_locks
Diese Abfrage gibt eine Momentaufnahme der Sperren zurück, die zu einem bestimmten Zeitpunkt verwendet werden.
Tools und Berechtigungen
Sie können jede Clientanwendung verwenden, die MDX- oder DMX-Abfragen unterstützt. In den meisten Fällen empfiehlt es sich, SQL Server Management Studio zu verwenden. Sie müssen über Serveradministratorberechtigungen für die instance verfügen, um eine DMV abfragen zu können.
So führen Sie eine DMV-Abfrage aus SQL Server Management Studio
- Stellen Sie eine Verbindung mit dem Server und dem Modellobjekt her, das Sie abfragen möchten.
- Klicken Sie mit der rechten Maustaste auf das Server- oder Datenbankobjekt >Neue Abfrage>MDX.
- Geben Sie Ihre Abfrage ein, und klicken Sie dann auf Ausführen, oder drücken Sie F5.
Schemarowsets
Nicht alle Schemarowsets verfügen über eine DMV-Schnittstelle. Führen Sie die folgende Abfrage aus, um eine Liste aller Schemarowsets zurückzugeben, die per DMV abgefragt werden können.
SELECT * FROM $System.DBSchema_Tables
WHERE TABLE_TYPE = 'SCHEMA'
ORDER BY TABLE_NAME ASC
Wenn eine DMV für ein angegebenes Rowset nicht verfügbar ist, gibt der Server den Folgenden Fehler zurück: The <schemarowset> request type was not recognized by the server.
Alle anderen Fehler weisen auf Syntaxprobleme hin.
Schemarowsets werden in zwei SQL Server Analysis Services Protokollen beschrieben:
[MS-SSAS-T]: SQL Server Analysis Services Tabular Protocol: Beschreibt Schemarowsets für tabellarische Modelle mit dem Kompatibilitätsgrad 1200 und höher.
[MS-SSAS]: SQL Server Analysis Services-Protokoll: Beschreibt Schemarowsets für mehrdimensionale Modelle und tabellarische Modelle mit den Kompatibilitätsgraden 1100 und 1103.
Rowsets beschrieben im [MS-SSAS-T]: SQL Server Analysis Services Tabular Protocol
Hinweis: Diese Liste ist möglicherweise unvollständig. Die neuesten Protokolle finden Sie in den Protokollen [MS-SSAS-T] und [MS-SSAS].
Rowset | Beschreibung |
---|---|
TMSCHEMA_ANNOTATIONS | Stellt Informationen zu den Annotation-Objekten im Modell bereit. |
TMSCHEMA_ATTRIBUTE_HIERARCHIES | Stellt Informationen zu den AttributeHierarchy-Objekten für eine Spalte bereit. |
TMSCHEMA_CALCULATION_ITEMS | Stellt Informationen zu den CalculationItem-Objekten im tabellarischen Modell bereit. |
TMSCHEMA_CALCULATION_GROUPS | Stellt Informationen zu den CalculationGroup-Objekten im tabellarischen Modell bereit. |
TMSCHEMA_COLUMNS | Stellt Informationen zu den Column-Objekten in jeder Tabelle bereit. |
TMSCHEMA_COLUMN_PERMISSIONS | Stellt Informationen zu den ColumnPermission-Objekten in jeder Tabellenberechtigung bereit. |
TMSCHEMA_CULTURES | Stellt Informationen zu den Culture-Objekten im Modell bereit. |
TMSCHEMA_DATA_SOURCES | Stellt Informationen zu den DataSource-Objekten im Modell bereit. |
TMSCHEMA_DETAIL_ROWS_DEFINITIONS | Stellt Informationen zu den DetailRowsDefinition-Objekten im Modell bereit. |
TMSCHEMA_EXPRESSIONS | Stellt Informationen zu den Expression-Objekten im Modell bereit. |
TMSCHEMA_FORMAT_STRING_DEFINITIONS | Stellt Informationen zu den FormatStringDefinition-Objekten im tabellarischen Modell bereit. |
TMSCHEMA_EXTENDED_PROPERTIES | Stellt Informationen zu den ExtendedProperty-Objekten im Modell bereit. |
TMSCHEMA_HIERARCHIES | Stellt Informationen zu den Hierarchy-Objekten in jeder Tabelle bereit. |
TMSCHEMA_KPIS | Stellt Informationen zu den KPI-Objekten im Modell bereit. |
TMSCHEMA_LEVELS | Stellt Informationen zu den Level-Objekten in jeder Hierarchie bereit. |
TMSCHEMA_LINGUISTIC_METADATA | Stellt Informationen zu den Synonymen für Objekte im Modell für eine bestimmte Kultur bereit. |
TMSCHEMA_MEASURES | Stellt Informationen zu den Measure-Objekten in jeder Tabelle bereit. |
TMSCHEMA_MODEL | Gibt ein Model-Objekt in der Datenbank an. |
TMSCHEMA_OBJECT_TRANSLATIONS | Stellt Informationen zu den Übersetzungen verschiedener Objekte für eine Kultur bereit. |
TMSCHEMA_PARTITIONS | Stellt Informationen zu den Partitionsobjekten in jeder Tabelle bereit. |
TMSCHEMA_PERSPECTIVE_COLUMNS | Stellt Informationen zu den PerspectiveColumn-Objekten in jedem PerspectiveTable-Objekt bereit. |
TMSCHEMA_PERSPECTIVE_HIERARCHIES | Stellt Informationen zu den PerspectiveHierarchy-Objekten in jedem PerspectiveTable-Objekt bereit. |
TMSCHEMA_PERSPECTIVE_MEASURES | Stellt Informationen zu den PerspectiveMeasure-Objekten in jedem PerspectiveTable-Objekt bereit. |
TMSCHEMA_PERSPECTIVE_TABLES | Stellt Informationen zu den Table-Objekten in einer Perspektive bereit. |
TMSCHEMA_PERSPECTIVES | Stellt Informationen zu den Perspective-Objekten im Modell bereit. |
TMSCHEMA_QUERY_GROUPS | Stellt Informationen zu den QueryGroup-Objekten im tabellarischen Modell bereit. |
TMSCHEMA_RELATIONSHIPS | Stellt Informationen zu den Relationship-Objekten im Modell bereit. |
TMSCHEMA_ROLE_MEMBERSHIPS | Stellt Informationen zu den RoleMembership-Objekten in jeder Rolle bereit. |
TMSCHEMA_ROLES | Stellt Informationen zu den Role-Objekten im Modell bereit. |
TMSCHEMA_TABLE_PERMISSIONS | Stellt Informationen zu den TablePermission-Objekten in jeder Rolle bereit. |
TMSCHEMA_TABLES | Stellt Informationen zu den Table-Objekten im Modell bereit. |
TMSCHEMA_VARIATIONS | Stellt Informationen zu den Variationsobjekten in jeder Spalte bereit. |
Rowsets beschrieben im [MS-SSAS]: SQL Server Analysis Services-Protokoll
Rowset | Beschreibung |
---|---|
DBSCHEMA_CATALOGS | Beschreibt die Kataloge, auf die auf dem Server zugegriffen werden kann. |
DBSCHEMA_COLUMNS | Gibt eine Zeile für jedes Measure, jedes Cubedimensionsattribut und jede Schemarowsetspalte zurück, die als Spalte verfügbar gemacht wird. |
DBSCHEMA_PROVIDER_TYPES | Gibt die (Basis-)Datentypen an, die vom Server unterstützt werden. |
DBSCHEMA_TABLES | Gibt Dimensionen, Measuregruppen oder Schemarowsets zurück, die als Tabellen verfügbar gemacht werden. |
DISCOVER_CALC_DEPENDENCY | Gibt Informationen zur Berechnungsabhängigkeit für ein Objekt zurück, das in einer tabellarischen Datenbank oder in einer DAX-Abfrage angegeben ist, die für eine tabellarische Datenbank ausgeführt wird. Hinweis: Das DISCOVER_CALC_DEPENDENCY Rowsets kann verwendet werden, um Abhängigkeiten zu analysieren und DAX-Ausdrücke aus in Power BI gehosteten semantischen Modellen mithilfe von XMLA-Endpunkten zu extrahieren. Das DISCOVER_CALC_DEPENDENCY Rowset enthält jedoch keine M-Abhängigkeiten für semantische Modelle mit aktivierten erweiterten Metadaten, z. B. zusammengeführte oder angefügte M-Abfragen und M-Parameter. |
DISCOVER_COMMAND_OBJECTS | Stellt Ressourcenverwendungs- und Aktivitätsinformationen über die Objekte bereit, die durch den Befehl, auf den verwiesen wird, verwendet werden. |
DISCOVER_COMMANDS | Stellt Ressourcenverwendungs- und Aktivitätsinformationen über die zurzeit ausgeführten oder zuletzt ausgeführten Befehle auf den offenen Verbindungen auf dem Server bereit. |
DISCOVER_CONNECTIONS | Stellt Informationen zur Ressourcenverwendung und Aktivität der zurzeit geöffneten Verbindungen auf dem Server bereit. |
DISCOVER_CSDL_METADATA | Gibt Informationen zu Datenbankmetadaten für In-Memory-Datenbanken zurück. |
DISCOVER_DATASOURCES | Gibt eine Liste der Datenquellen zurück, die auf dem Server verfügbar sind. |
DISCOVER_DB_CONNECTIONS | Stellt Informationen zur Ressourcenauslastung und Aktivität der zurzeit geöffneten Verbindungen vom Server in einer Datenbank bereit. |
DISCOVER_DB_MEM_STATS | Stellt grob abgrenzende Informationen zu den Speichernachverfolgungen bereit, die auf dem Server aktiv sind. Die Daten werden auf Datenbank- und Systemebene aggregiert. |
DISCOVER_DIMENSION_STAT | gibt Statistiken für die angegebene Dimension zurück. |
DISCOVER_ENUMERATORS | Gibt eine Liste mit Namen, Datentypen und Enumerationswerten von Enumeratoren zurück, die vom XMLA-Anbieter für eine bestimmte Datenquelle unterstützt werden. |
DISCOVER_INSTANCES | Beschreibt die Instanzen auf dem Server. |
DISCOVER_JOBS | Stellt Informationen über die aktiven Aufträge bereit, die auf dem Server ausgeführt werden. Ein Auftrag ist ein Teil eines Befehls, der für den Befehl einen bestimmten Task ausführt. |
DISCOVER_KEYWORDS (XMLA) | Gibt Informationen zu Schlüsselwörtern zurück, die vom XMLA-Server reserviert sind. |
DISCOVER_LITERALS | Gibt Informationen zu Literalen zurück, die vom Server unterstützt werden. |
DISCOVER_LOCATIONS | Gibt Informationen zum Inhalt einer Sicherungsdatei zurück. |
DISCOVER_LOCKS | Stellt Informationen über die aktuellen Sperren auf dem Server bereit. |
DISCOVER_MASTER_KEY | Gibt den master Verschlüsselungsschlüssel des Servers zurück. |
DISCOVER_MEM_STATS | Stellt differenzierte Informationen zu allen Speichernachverfolgungen bereit, die auf dem Server aktiv sind. |
DISCOVER_MEMORYGRANT | Gibt eine Liste interner Arbeitsspeicherkontingent-Erteilungen zurück, die von Aufträgen in Anspruch genommen werden, die derzeit auf dem Server ausgeführt werden. |
DISCOVER_MEMORYUSAGE | Gibt die DISCOVER_MEMORYUSAGE-Statistiken für verschiedene vom Server zugeordnete Objekte zurück. |
DISCOVER_OBJECT_ACTIVITY | Stellt die Ressourcenverwendung pro Objekt seit dem Start des Diensts bereit. |
DISCOVER_OBJECT_MEMORY_USAGE | Gibt die DISCOVER_MEMORYUSAGE-Statistiken für verschiedene vom Server zugeordnete Objekte zurück. |
DISCOVER_PARTITION_DIMENSION_STAT | Gibt Statistiken für die Dimension zurück, die einer Partition zugeordnet ist. |
DISCOVER_PARTITION_STAT | Gibt Statistiken zu Aggregationen in einer bestimmten Partition zurück. |
DISCOVER_PERFORMANCE_COUNTERS | Gibt den Wert von mindestens einem angegebenen Leistungsindikator zurück. |
DISCOVER_PROPERTIES | Gibt eine Liste von Informationen und Werten zu den Eigenschaften zurück, die vom Server für die angegebene Datenquelle unterstützt werden. |
DISCOVER_RING_BUFFERS | Gibt Informationen zu den aktuellen XEvent-Ringpuffern auf dem Server zurück. |
DISCOVER_SCHEMA_ROWSETS | Gibt die Namen, Einschränkungen, Beschreibung und andere Informationen für alle Discover-Anforderungen zurück. |
DISCOVER_SESSIONS | Stellt Informationen zur Ressourcenverwendung und Aktivität der zurzeit geöffneten Sitzungen auf dem Server bereit. |
DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS | Gibt Informationen zu den Spaltensegmenten zurück, die zum Speichern von Daten für In-Memory-Tabellen verwendet werden. |
DISCOVER_STORAGE_TABLE_COLUMNS | Enthält Informationen zu den Spalten, die zum Darstellen der Spalten einer In-Memory-Tabelle verwendet werden. |
DISCOVER_STORAGE_TABLES | Gibt Statistiken zu In-Memory-Tabellen zurück, die für den Server verfügbar sind. |
DISCOVER_TRACE_COLUMNS | |
DISCOVER_TRACE_DEFINITION_PROVIDERINFO | Enthält das DISCOVER_TRACE_COLUMNS Schemarowset. |
DISCOVER_TRACE_EVENT_CATEGORIES | Enthält das DISCOVER_TRACE_EVENT_CATEGORIES Schemarowset. |
DISCOVER_TRACES | Enthält das DISCOVER_TRACES Schemarowset. |
DISCOVER_TRANSACTIONS | Gibt den aktuellen Satz von ausstehenden Transaktionen auf dem System zurück. |
DISCOVER_XEVENT_TRACE_DEFINITION | Stellt Informationen zu den XEvent-Ablaufverfolgungen bereit, die derzeit auf dem Server aktiv sind. |
DISCOVER_XEVENT_PACKAGES | Stellt Informationen zu den XEvent-Paketen bereit, die auf dem Server beschrieben werden. |
DISCOVER_XEVENT_OBJECTS | Stellt Informationen zu den XEvent-Objekten bereit, die auf dem Server beschrieben werden. |
DISCOVER_XEVENT_OBJECT_COLUMNS | Stellt Informationen zum Schema von XEvent-Objekten bereit, die auf dem Server beschrieben werden. |
DISCOVER_XEVENT_SESSIONS | Stellt Informationen zu den aktuellen XEvent-Sitzungen auf dem Server bereit. |
DISCOVER_XEVENT_SESSION_TARGETS | Stellt Informationen zu den aktuellen XEvent-Sitzungszielen auf dem Server bereit. |
DISCOVER_XML_METADATA | Gibt ein Rowset mit einer Zeile und einer Spalte zurück. |
DMSCHEMA_MINING_COLUMNS | Beschreibt die einzelnen Spalten aller beschriebenen Data Mining-Modelle, die auf dem Server bereitgestellt werden. |
DMSCHEMA_MINING_FUNCTIONS | Beschreibt die Data Mining-Funktionen, die von den Data Mining-Algorithmen unterstützt werden, die auf einem Server verfügbar sind, auf dem Analysis Services ausgeführt wird. |
DMSCHEMA_MINING_MODEL_CONTENT | Ermöglicht der Clientanwendung das Durchsuchen des Inhalts eines trainierten Data Mining-Modells. |
DMSCHEMA_MINING_MODEL_CONTENT_PMML | Gibt die XML-Struktur des Miningmodells wieder. Das Format der XML-Zeichenfolge entspricht dem PMML 2.1-Standard. |
DMSCHEMA_MINING_MODEL_XML | Gibt die XML-Struktur des Miningmodells wieder. Das Format der XML-Zeichenfolge entspricht dem PMML 2.1-Standard. |
DMSCHEMA_MINING_MODELS-Rowset | Listet die Data Mining-Modelle auf, die auf dem Server verteilt werden. |
DMSCHEMA_MINING_SERVICE_PARAMETERS | Stellt eine Liste von Parametern bereit, die zur Konfiguration des Verhaltens eines jeden auf dem Server installierten Data Mining-Algorithmus verwendet werden kann. |
DMSCHEMA_MINING_SERVICES | Stellt Informationen zu jedem Data Mining-Algorithmus bereit, den der Server unterstützt. |
DMSCHEMA_MINING_STRUCTURE_COLUMNS | Beschreibt die einzelnen Spalten aller Data Mining-Strukturen, die auf dem Server verteilt werden. |
DMSCHEMA_MINING_STRUCTURES | Listet Informationen über die Miningstrukturen im aktuellen Katalog auf. |
MDSCHEMA_ACTIONS | Beschreibt die Aktionen, die für die Clientanwendung verfügbar sein können. |
MDSCHEMA_CUBES | Beschreibt die Struktur der Cubes innerhalb einer Datenbank. In diesem Schema werden auch Perspektiven zurückgegeben. |
MDSCHEMA_DIMENSIONS | Beschreibt die Dimensionen innerhalb einer Datenbank. |
MDSCHEMA_FUNCTIONS | Gibt Informationen zu den Funktionen zurück, die derzeit für die Verwendung in den DAX- und MDX-Sprachen verfügbar sind. |
MDSCHEMA_HIERARCHIES | Beschreibt jede Hierarchie innerhalb einer bestimmten Dimension. |
MDSCHEMA_INPUT_DATASOURCES | Beschreibt die in der Datenbank beschriebenen Datenquellenobjekte. |
MDSCHEMA_KPIS | Beschreibt die KPIs in einer Datenbank. |
MDSCHEMA_LEVELS | Beschreibt jede Ebene innerhalb einer bestimmten Hierarchie. |
MDSCHEMA_MEASUREGROUP_DIMENSIONS | Listet die Dimensionen der Measuregruppe auf. |
MDSCHEMA_MEASUREGROUPS | Beschreibt die Measuregruppen innerhalb einer Datenbank. |
MDSCHEMA_MEASURES | Beschreibt jedes Measure. |
MDSCHEMA_MEMBERS | Beschreibt die Elemente innerhalb einer Datenbank. |
MDSCHEMA_PROPERTIES | Beschreibt die Eigenschaften von Membern und Zelleneigenschaften. |
MDSCHEMA_SETS | Beschreibt alle Sätze, die derzeit in einer Datenbank beschrieben werden, einschließlich sitzungsbezogener Sätze. |
Hinweis
STORAGES-DMVs verfügen nicht über ein schemarowset, das im Protokoll beschrieben ist.