動的管理ビュー (DMV)
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Analysis Services 動的管理ビュー (DMV) は、モデル オブジェクト、サーバー操作、サーバーの正常性に関する情報を返すクエリです。 SQL に基づくクエリは、 スキーマ行セットへのインターフェイスです。 スキーマ行セットは、データベース スキーマ、アクティブ なセッション、接続、コマンド、サーバーで実行されているジョブなど、Analysis Services オブジェクトとサーバーの状態に関する情報を含む、事前に記述されたテーブルです。
Power BI Premiumセマンティック モデルの場合、XMLA エンドポイントを介してクエリを実行するための DMV は、データベース管理者のアクセス許可を必要とする DMV に制限されます。 一部の DMV には Analysis Services サーバー管理者のアクセス許可が必要なため、サポートされていません。
DMV クエリは、XML/A Discover コマンドの実行の代わりとなる手段です。 ほとんどの管理者にとって、構文は SQL に基づいているため、DMV クエリの記述は簡単です。 さらに、読み取りとコピーが容易なテーブル形式で結果が返されます。
ほとんどの DMV クエリでは、 SELECT ステートメントと $System スキーマと XML/A スキーマ行セットを使用します。次に例を示します。
SELECT * FROM $System.<schemaRowset>
DMV クエリは、クエリの実行時にサーバーとオブジェクトの状態に関する情報を返します。 操作をリアルタイムで監視するには、代わりにトレースを使用します。 トレースを使用したリアルタイム監視の詳細については、「SQL Server Profilerを使用して Analysis Services を監視する」を参照してください。
クエリ構文
DMV のクエリ エンジンは、データ マイニング パーサーです。 DMV クエリ構文は、SELECT (DMX) ステートメントに基づいています。 DMV クエリ構文は SQL SELECT ステートメントに基づいていますが、SELECT ステートメントの完全な構文をサポートしていません。 特に、JOIN、GROUP BY、LIKE、CAST、CONVERT はサポートされていません。
SELECT [DISTINCT] [TOP <n>] <select list>
FROM $System.<schemaRowset>
[WHERE <condition expression>]
[ORDER BY <expression>[DESC|ASC]]
次の DISCOVER_CALC_DEPENDENCY の例では、クエリのパラメーターを提供するために WHERE 句を使用する方法について示しています。
SELECT * FROM $System.DISCOVER_CALC_DEPENDENCY
WHERE OBJECT_TYPE = 'ACTIVE_RELATIONSHIP'
制限があるスキーマ行セットの場合、クエリには SYSTEMRESTRICTSCHEMA 関数を含める必要があります。 次の例では、1103 互換性レベルの表形式モデルに関する CSDL メタデータを返します。 CATALOG_NAME では大文字と小文字が区別されることに注意してください。
Select * from SYSTEMRESTRICTSCHEMA ($System.Discover_csdl_metadata, [CATALOG_NAME] = 'Adventure Works DW')
例とシナリオ
DMV クエリは、アクティブなセッションおよび接続に関する疑問に答えたり、特定の時刻に CPU またはメモリを最も消費しているオブジェクトを特定するために役立つ可能性があります。 例:
Select * from $System.discover_object_activity
このクエリは、サービスが最後に開始されてからのオブジェクト アクティビティを報告します。
Select * from $System.discover_object_memory_usage
このクエリは、オブジェクトごとのメモリ消費量を報告します。
Select * from $System.discover_sessions
このクエリは、セッション ユーザーと期間を含むアクティブなセッションを報告します。
Select * from $System.discover_locks
このクエリは、特定の時点で使用されるロックのスナップショットを返します。
ツールとアクセス許可
MDX または DMX クエリをサポートする任意のクライアント アプリケーションを使用できます。 ほとんどの場合、SQL Server Management Studioを使用することをお勧めします。 DMV に対してクエリを実行するには、インスタンスに対するサーバー管理者のアクセス許可が必要です。
SQL Server Management Studioから DMV クエリを実行するには
- クエリを実行するサーバーおよびモデル オブジェクトに接続します。
- サーバーまたはデータベース オブジェクト > [新しいクエリ MDX]> を右クリックします。
- クエリを入力し、[ 実行] をクリックするか、F5 キーを押します。
スキーマ行セット
すべてのスキーマ行セットに DMV インターフェイスがあるわけではありません。 DMV を使用してクエリを行うことができる、すべてのスキーマ行セットの一覧を返すには、次のクエリを実行します。
SELECT * FROM $System.DBSchema_Tables
WHERE TABLE_TYPE = 'SCHEMA'
ORDER BY TABLE_NAME ASC
特定の行セットで DMV が使用できない場合、サーバーはエラーを返します。 The <schemarowset> request type was not recognized by the server.
その他のすべてのエラーは、構文に関する問題を示します。
スキーマ行セットは、次の 2 つのSQL Server Analysis Services プロトコルで説明されています。
[MS-SSAS-T]: SQL Server Analysis Services表形式プロトコル - 1200 以上の互換性レベルの表形式モデルのスキーマ行セットについて説明します。
[MS-SSAS]: SQL Server Analysis Services プロトコル - 1100 および 1103 互換性レベルの多次元モデルと表形式モデルのスキーマ行セットについて説明します。
[MS-SSAS-T]: SQL Server Analysis Services表形式プロトコルで説明されている行セット
注: このリストは不完全である可能性があります。 最新の情報については、[MS-SSAS-T] プロトコルと [MS-SSAS] プロトコルを参照してください。
[行セット] | 説明 |
---|---|
TMSCHEMA_ANNOTATIONS | モデル内の Annotation オブジェクトに関する情報を提供します。 |
TMSCHEMA_ATTRIBUTE_HIERARCHIES | 列の AttributeHierarchy オブジェクトに関する情報を提供します。 |
TMSCHEMA_CALCULATION_ITEMS | 表形式モデルの CalculationItem オブジェクトに関する情報を提供します。 |
TMSCHEMA_CALCULATION_GROUPS | 表形式モデルの CalculationGroup オブジェクトに関する情報を提供します。 |
TMSCHEMA_COLUMNS | 各テーブルの Column オブジェクトに関する情報を提供します。 |
TMSCHEMA_COLUMN_PERMISSIONS | 各テーブル権限の ColumnPermission オブジェクトに関する情報を提供します。 |
TMSCHEMA_CULTURES | モデル内の Culture オブジェクトに関する情報を提供します。 |
TMSCHEMA_DATA_SOURCES | モデル内の DataSource オブジェクトに関する情報を提供します。 |
TMSCHEMA_DETAIL_ROWS_DEFINITIONS | モデル内の DetailRowsDefinition オブジェクトに関する情報を提供します。 |
TMSCHEMA_EXPRESSIONS | モデル内の Expression オブジェクトに関する情報を提供します。 |
TMSCHEMA_FORMAT_STRING_DEFINITIONS | 表形式モデルの FormatStringDefinition オブジェクトに関する情報を提供します。 |
TMSCHEMA_EXTENDED_PROPERTIES | モデル内の ExtendedProperty オブジェクトに関する情報を提供します。 |
TMSCHEMA_HIERARCHIES | 各テーブルの Hierarchy オブジェクトに関する情報を提供します。 |
TMSCHEMA_KPIS | モデル内の KPI オブジェクトに関する情報を提供します。 |
TMSCHEMA_LEVELS | 各階層の Level オブジェクトに関する情報を提供します。 |
TMSCHEMA_LINGUISTIC_METADATA | 特定のカルチャのモデル内のオブジェクトのシノニムに関する情報を提供します |
TMSCHEMA_MEASURES | 各テーブルの Measure オブジェクトに関する情報を提供します。 |
TMSCHEMA_MODEL | データベース内の Model オブジェクトを指定します。 |
TMSCHEMA_OBJECT_TRANSLATIONS | カルチャのさまざまなオブジェクトの翻訳に関する情報を提供します。 |
TMSCHEMA_PARTITIONS | 各テーブルの Partition オブジェクトに関する情報を提供します。 |
TMSCHEMA_PERSPECTIVE_COLUMNS | 各 PerspectiveTable オブジェクトの PerspectiveColumn オブジェクトに関する情報を提供します。 |
TMSCHEMA_PERSPECTIVE_HIERARCHIES | 各 PerspectiveTable オブジェクトの PerspectiveHierarchy オブジェクトに関する情報を提供します。 |
TMSCHEMA_PERSPECTIVE_MEASURES | 各 PerspectiveTable オブジェクトの PerspectiveMeasure オブジェクトに関する情報を提供します。 |
TMSCHEMA_PERSPECTIVE_TABLES | パースペクティブ内の Table オブジェクトに関する情報を提供します。 |
TMSCHEMA_PERSPECTIVES | モデル内の Perspective オブジェクトに関する情報を提供します。 |
TMSCHEMA_QUERY_GROUPS | 表形式モデルの QueryGroup オブジェクトに関する情報を提供します。 |
TMSCHEMA_RELATIONSHIPS | モデル内の Relationship オブジェクトに関する情報を提供します。 |
TMSCHEMA_ROLE_MEMBERSHIPS | 各ロールの RoleMembership オブジェクトに関する情報を提供します。 |
TMSCHEMA_ROLES | モデル内の Role オブジェクトに関する情報を提供します。 |
TMSCHEMA_TABLE_PERMISSIONS | 各ロールの TablePermission オブジェクトに関する情報を提供します。 |
TMSCHEMA_TABLES | モデル内の Table オブジェクトに関する情報を提供します。 |
TMSCHEMA_VARIATIONS | 各列の Variation オブジェクトに関する情報を提供します。 |
[MS-SSAS]: SQL Server Analysis Services プロトコルで説明されている行セット
[行セット] | 説明 |
---|---|
DBSCHEMA_CATALOGS | サーバーでアクセスできるカタログについて説明します。 |
DBSCHEMA_COLUMNS | 各メジャー、各キューブ ディメンション属性、および各スキーマ行セット列の行を、列として公開して返します。 |
DBSCHEMA_PROVIDER_TYPES | サーバーでサポートされている (基本) データ型を識別します。 |
DBSCHEMA_TABLES | テーブルとして公開されているディメンション、メジャー グループ、またはスキーマ行セットを返します。 |
DISCOVER_CALC_DEPENDENCY | 表形式データベースまたは表形式データベースに対して実行される DAX クエリで指定されたオブジェクトの計算依存関係に関する情報を返します。 メモ: DISCOVER_CALC_DEPENDENCY行セットを使用すると、依存関係を分析し、XMLA エンドポイントを使用して Power BI でホストされているセマンティック モデルから DAX 式を抽出できます。 ただし、DISCOVER_CALC_DEPENDENCY行セットには、マージまたは追加された M クエリや M パラメーターなど、拡張メタデータが有効になっているセマンティック モデルの M 依存関係は含まれません。 |
DISCOVER_COMMAND_OBJECTS | 参照されるコマンドで使用されているオブジェクトに関するリソースの使用状況とアクティビティ情報を提供します。 |
DISCOVER_COMMANDS | サーバー上で開かれている接続で現在実行中または最後に実行されているコマンドに関するリソースの使用状況とアクティビティ情報を提供します。 |
DISCOVER_CONNECTIONS | 現在サーバー上で開いている接続について、リソースの使用状況とアクティビティに関する情報を提供します。 |
DISCOVER_CSDL_METADATA | メモリ内データベースのデータベース メタデータに関する情報を返します。 |
DISCOVER_DATASOURCES | サーバーで使用できるデータ ソースの一覧を返します。 |
DISCOVER_DB_CONNECTIONS | サーバーからデータベースへの現在開いている接続に関するリソース使用量と利用状況の情報を提供します。 |
DISCOVER_DB_MEM_STATS | サーバー上でアクティブなメモリ トラッカーに関する粒度の粗い情報を提供します。 データは、データベース レベルとシステム レベルで集計されます。 |
DISCOVER_DIMENSION_STAT | は、指定されたディメンションの統計を返します。 |
DISCOVER_ENUMERATORS | 特定のデータ ソースの XMLA プロバイダーによってサポートされている列挙子の名前、データ型、および列挙値の一覧を返します。 |
DISCOVER_INSTANCES | サーバー上のインスタンスについて記述します。 |
DISCOVER_JOBS | サーバーで実行されているアクティブなジョブに関する情報を提供します。 ジョブはコマンドの一部であり、コマンドに代わって特定のタスクを実行します。 |
DISCOVER_KEYWORDS (XMLA) | XMLA サーバーによって予約されているキーワードに関する情報を返します。 |
DISCOVER_LITERALS | サーバーでサポートされているリテラルに関する情報を返します。 |
DISCOVER_LOCATIONS | バックアップ ファイルの内容に関する情報を返します。 |
DISCOVER_LOCKS | サーバー上で現在保持されているロックに関する情報を提供します。 |
DISCOVER_MASTER_KEY | サーバーのマスター暗号化キーを返します。 |
DISCOVER_MEM_STATS | サーバー上でアクティブになっているすべてのメモリ トラッカーに関する詳細な情報を提供します。 |
DISCOVER_MEMORYGRANT | サーバーで現在実行中のジョブによって確保されている内部メモリ クォータ付与の一覧を返します。 |
DISCOVER_MEMORYUSAGE | サーバーによって割り当てられているさまざまなオブジェクトの DISCOVER_MEMORYUSAGE 統計を返します。 |
DISCOVER_OBJECT_ACTIVITY | サービスが開始されてからのオブジェクトごとのリソース使用量に関する情報を提供します。 |
DISCOVER_OBJECT_MEMORY_USAGE | サーバーによって割り当てられているさまざまなオブジェクトの DISCOVER_MEMORYUSAGE 統計を返します。 |
DISCOVER_PARTITION_DIMENSION_STAT | パーティションに関連付けられているディメンションの統計を返します。 |
DISCOVER_PARTITION_STAT | 特定のパーティションの集計に関する統計を返します。 |
DISCOVER_PERFORMANCE_COUNTERS | 指定した 1 つ以上のパフォーマンス カウンターの値を返します。 |
DISCOVER_PROPERTIES | 指定したデータ ソースのサーバーでサポートされているプロパティに関する情報と値の一覧を返します。 |
DISCOVER_RING_BUFFERS | サーバー上の現在の XEvent リング バッファーに関する情報を返します。 |
DISCOVER_SCHEMA_ROWSETS | すべての検出要求の名前、制限、説明、およびその他の情報を返します。 |
DISCOVER_SESSIONS | サーバー上で現在開いているセッションに関するリソース使用量と利用状況の情報を提供します。 |
DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS | メモリ内テーブルのデータを格納するために使用される列セグメントに関する情報を返します。 |
DISCOVER_STORAGE_TABLE_COLUMNS | メモリ内テーブルの列を表す際に使用される列に関する情報を格納します。 |
DISCOVER_STORAGE_TABLES | サーバーで使用できるメモリ内テーブルに関する統計情報を返します。 |
DISCOVER_TRACE_COLUMNS | |
DISCOVER_TRACE_DEFINITION_PROVIDERINFO | DISCOVER_TRACE_COLUMNSスキーマ行セットが含まれます。 |
DISCOVER_TRACE_EVENT_CATEGORIES | DISCOVER_TRACE_EVENT_CATEGORIESスキーマ行セットが含まれます。 |
DISCOVER_TRACES | DISCOVER_TRACESスキーマ行セットが含まれます。 |
DISCOVER_TRANSACTIONS | 現在システムで保留中のトランザクションのセットを返します。 |
DISCOVER_XEVENT_TRACE_DEFINITION | サーバーで現在アクティブになっている XEvent トレースに関する情報を提供します。 |
DISCOVER_XEVENT_PACKAGES | サーバーで説明されている XEvent パッケージに関する情報を提供します。 |
DISCOVER_XEVENT_OBJECTS | サーバーで説明されている XEvent オブジェクトに関する情報を提供します。 |
DISCOVER_XEVENT_OBJECT_COLUMNS | サーバーで説明されている XEvent オブジェクトのスキーマに関する情報を提供します。 |
DISCOVER_XEVENT_SESSIONS | サーバー上の現在の XEvent セッションに関する情報を提供します。 |
DISCOVER_XEVENT_SESSION_TARGETS | サーバー上の現在の XEvent セッション ターゲットに関する情報を提供します。 |
DISCOVER_XML_METADATA | 1 つの行と 1 つの列を持つ行セットを返します。 |
DMSCHEMA_MINING_COLUMNS | サーバーにデプロイされるすべての記述データ マイニング モデルの個々の列について説明します。 |
DMSCHEMA_MINING_FUNCTIONS | Analysis Services を実行しているサーバーで使用できるデータ マイニング アルゴリズムでサポートされるデータ マイニング関数について説明します。 |
DMSCHEMA_MINING_MODEL_CONTENT | クライアント アプリケーションがトレーニング済みのデータ マイニング モデルのコンテンツを参照できるようにします。 |
DMSCHEMA_MINING_MODEL_CONTENT_PMML | マイニング モデルの XML 構造を返します。 XML 文字列の形式は、PMML 2.1 標準に従います。 |
DMSCHEMA_MINING_MODEL_XML | マイニング モデルの XML 構造を返します。 XML 文字列の形式は、PMML 2.1 標準に従います。 |
DMSCHEMA_MINING_MODELS | サーバー上に配置されているデータ マイニング モデルを列挙します。 |
DMSCHEMA_MINING_SERVICE_PARAMETERS | サーバーにインストールされている各データ マイニング アルゴリズムの動作を構成するために使用できるパラメーターの一覧を提供します。 |
DMSCHEMA_MINING_SERVICES | サーバーがサポートする各データ マイニング アルゴリズムに関する情報を提供します。 |
DMSCHEMA_MINING_STRUCTURE_COLUMNS | サーバー上に配置されているすべてのマイニング構造の各列について記述します。 |
DMSCHEMA_MINING_STRUCTURES | 現在のカタログ内のマイニング構造に関する情報を列挙します。 |
MDSCHEMA_ACTIONS | クライアント アプリケーションで使用できるアクションについて説明します。 |
MDSCHEMA_CUBES | データベース内のキューブの構造について記述します。 このスキーマでは、パースペクティブも返されます。 |
MDSCHEMA_DIMENSIONS | データベース内のディメンションについて説明します。 |
MDSCHEMA_FUNCTIONS | DAX および MDX 言語で現在使用できる関数に関する情報を返します。 |
MDSCHEMA_HIERARCHIES | 特定のディメンション内の各階層について記述します。 |
MDSCHEMA_INPUT_DATASOURCES | データベース内で記述されているデータ ソース オブジェクトについて説明します。 |
MDSCHEMA_KPIS | データベース内の KPI について説明します。 |
MDSCHEMA_LEVELS | 特定の階層内の各レベルについて記述します。 |
MDSCHEMA_MEASUREGROUP_DIMENSIONS | メジャー グループのディメンションを列挙します。 |
MDSCHEMA_MEASUREGROUPS | データベース内のメジャー グループについて記述します。 |
MDSCHEMA_MEASURES | 各メジャーについて説明します。 |
MDSCHEMA_MEMBERS | データベース内のメンバーについて記述します。 |
MDSCHEMA_PROPERTIES | メンバーとセルのプロパティについて説明します。 |
MDSCHEMA_SETS | セッション スコープ のセットを含め、データベースで現在説明されているセットについて説明します。 |
注意
STORAGES DMV には、プロトコルで説明されているスキーマ行セットがありません。