動的管理ビュー (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 クエリを実行するには

  1. クエリを実行するサーバーおよびモデル オブジェクトに接続します。
  2. サーバーまたはデータベース オブジェクト > [新しいクエリ MDX]> を右クリックします。
  3. クエリを入力し、[ 実行] をクリックするか、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 には、プロトコルで説明されているスキーマ行セットがありません。