動的管理ビュー (DMV) を使用した Analysis Services の監視
Analysis Services 動的管理ビュー (DMV) は、ローカル サーバーの操作やサーバーの正常性に関する情報を公開するクエリ構造です。 クエリ構造は、Analysis Services インスタンスのメタデータと監視情報を返すためのスキーマ行セットへのインターフェイスです。
ほとんどの DMV クエリでは、XML/A スキーマ行セットと合わせて SELECT ステートメントと $System スキーマを使用します。
SELECT * FROM $System.<schemaRowset>
DMV クエリは、クエリが実行された時点でのサーバーの状態に関する情報を返します。 リアルタイムでの操作を監視するには、代わりにトレースを使用します。 詳細については、「SQL Server Profiler を使用した Analysis Services の監視」を参照してください。
このトピックのセクションは次のとおりです。
DMV クエリを使用する利点
例とシナリオ
クエリ構文
DMV リファレンス
DMV クエリを使用する利点
DMV クエリは、他の手段では取得できない操作とリソース消費に関する情報を返します。
DMV クエリは、XML/A Discover コマンドの実行の代わりとなる手段です。 クエリの構文は SQL に基づいているため、多くの管理者にとって DMV クエリを記述するのはより簡単です。 また、結果セットは、読み取りやコピーが容易な表形式で返されます。
例とシナリオ
DMV クエリは、アクティブなセッションおよび接続に関する疑問に答えたり、特定の時刻に CPU またはメモリを最も消費しているオブジェクトを特定するために役立つ可能性があります。 このセクションでは、DMV クエリが最もよく使用されるシナリオの例を示します。 DMV クエリを使用してサーバー インスタンスを監視する方法の詳細については、「SQL Server 2008 R2 Analysis Services 操作ガイド」を参照してください。
Select * from $System.discover_object_activity /** このクエリは、サービスの前回の開始以降のオブジェクト アクティビティについてレポートします。 この DMV に基づくクエリの例については、「New System.Discover_Object_Activity」を参照してください。
Select * from $System.discover_object_memory_usage /** このクエリは、オブジェクトによるメモリ消費についてレポートします。
Select * from $System.discover_sessions /** このクエリは、セッションのユーザーや期間など、アクティブ セッションについてレポートします。
Select * from $System.discover_locks /** このクエリは、特定の時点で使用されるロックのスナップショットを返します。
クエリ構文
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 関数を含める必要があります。 次の例は、表形式モードのサーバーで実行されている表形式モデルに関する CSDL メタデータを返します。 CATALOG_NAME は大文字と小文字が区別されることに注意してください。
Select * from SYSTEMRESTRICTSCHEMA ($System.Discover_csdl_metadata, [CATALOG_NAME] = 'Adventure Works DW')
ツールと権限
DMV のクエリを行うには、Analysis Services インスタンスに対するシステム管理者権限が必要です。
SQL Server Management Studio、Reporting Services レポート、または PerformancePoint ダッシュボードなど、MDX または DMX クエリをサポートするクライアント アプリケーションを使用できます。
Management Studio から DMV クエリを実行するには、クエリを行うインスタンスに接続し、[新しいクエリ] をクリックします。 MDX または DMX クエリ ウィンドウからクエリを実行することができます。
DMV リファレンス
すべてのスキーマ行セットに DMV インターフェイスがあるわけではありません。 DMV を使用してクエリを行うことができる、すべてのスキーマ行セットの一覧を返すには、次のクエリを実行します。
SELECT * FROM $System.DBSchema_Tables
WHERE TABLE_TYPE = 'SCHEMA'
ORDER BY TABLE_NAME ASC
注 |
---|
指定された行セットで DMV を使用できない場合、サーバーは "<schemarowset> という要求の種類がサーバーで識別されませんでした。" というエラーを返します。 他のすべてのエラーは、構文の問題を示します。 |
行セット |
説明 |
---|---|
現在の接続の Analysis Services データベースの一覧を返します。 |
|
現在のデータベース内のすべての列の一覧を返します。 DMV クエリを作成するために、この一覧を使用できます。 |
|
OLE DB データ プロバイダーでサポートされる基本データ型に関するプロパティを返します。 |
|
現在のデータベース内のすべてのテーブルの一覧を返します。 DMV クエリを作成するために、この一覧を使用できます。 |
|
他の列およびテーブルとの依存関係があるモデルで使用されている列およびテーブルの一覧を返します。 |
|
参照先のコマンドによって使用されているオブジェクトに関するリソース使用量と利用状況の情報を提供します。 |
|
現在実行されているコマンドのリソース使用状況とアクティビティ情報を提供します。 |
|
Analysis Services に対して開いている接続について、リソースの使用状況とアクティビティに関する情報を提供します。 |
|
テーブル モデルに関する情報を返します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
|
たとえば処理中またはインポート中に、Analysis Services から外部データ ソースに対して開いている接続について、リソースの使用状況とアクティビティに関する情報を提供します。 |
|
モデルの種類により、テーブルのディメンションまたは列の属性を返します。 |
|
特定のデータ ソースについてサポートされている列挙子に関するメタデータを返します。 |
|
指定したインスタンスに関する情報を返します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
|
現在のジョブに関する情報を返します。 |
|
予約されているキーワードの一覧を返します。 |
|
XMLA によってサポートされているデータ型や値など、リテラルの一覧を返します。 |
|
特定の時点で使用されているロックのスナップショットを返します。 |
|
スタートアップ時に Analysis Services によって割り当てられたメモリに関する情報を返します。 |
|
特定のオブジェクトによるメモリ使用量を示しています。 |
|
サービスの前回の開始以降のオブジェクト アクティビティについてレポートします。 |
|
オブジェクトによるメモリ消費についてレポートします。 |
|
ディメンションの属性に関する情報を提供します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
|
ディメンション、テーブル、またはメジャー グループのパーティションに関する情報を提供します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
|
パフォーマンス カウンターで使用される列を示します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
|
指定されたデータ ソースの XMLA によってサポートされるプロパティに関する情報を返します。 |
|
XMLA によってサポートされているすべての列挙値について、名前、制限、説明、その他の情報を返します。 |
|
セッションのユーザーや期間など、アクティブ セッションについてレポートします。 |
|
テーブル モードまたは SharePoint モードで動作している Analysis Services データベースに関して、使用されているストレージ テーブルについての列およびセグメント レベルの情報を提供します。 |
|
クライアントは、テーブル モードまたは SharePoint モードで動作している Analysis Services データベースによって使用されるストレージ テーブルに対する列の割り当てを確認できます。 |
|
テーブル モデル データベース内のモデルを格納するためのテーブルに関する情報を返します。 |
|
トレースに表示される列の XML 記述を返します。 |
|
プロバイダーの名前とバージョン情報を返します。 |
|
使用できるカテゴリの一覧を返します。 |
|
現在の接続でアクティブに実行しているトレースの一覧を返します。 |
|
現在の接続でアクティブに実行しているトランザクションの一覧を返します。 |
|
現在の接続でアクティブに実行している XEvent トレースの一覧を返します。 |
|
現在の接続で利用可能な、すべてのマイニング モデルの個々の列を一覧表示します。 |
|
サーバー上のデータ マイニング アルゴリズムによってサポートされる関数の一覧を返します。 |
|
現在のモデルを説明する列で構成される行セットを返します。 |
|
PMML 形式で現在のモデルを説明する列で構成される行セットを返します。 |
|
PMML 形式で現在のモデルを説明する列で構成される行セットを返します。 |
|
現在のデータベース内のマイニング モデルの一覧を返します。 |
|
サーバー上のアルゴリズムのパラメーターの一覧を返します。 |
|
サーバー上で使用可能なデータ マイニング アルゴリズムの一覧を返します。 |
|
現在の接続で使用できるすべてのマイニング モデルのすべての列の一覧を返します。 |
|
現在の接続で利用可能なマイニング構造を一覧表示します。 |
|
現在のデータベースで定義されるキューブに関する情報を返します。 |
|
現在のデータベースで定義されるディメンションに関する情報を返します。 |
|
データベースに接続されているクライアント アプリケーションで利用できる関数の一覧を返します。 |
|
現在のデータベースで定義される階層に関する情報を返します。 |
|
現在のデータベースで定義されるデータ ソース オブジェクトに関する情報を返します。 |
|
現在のデータベースで定義される KPI に関する情報を返します。 |
|
現在のデータベースで定義される階層内のレベルに関する情報を返します。 |
|
メジャー グループのディメンションを一覧表示します。 |
|
現在の接続にあるメジャー グループの一覧を返します。 |
|
現在の接続にあるメジャーの一覧を返します。 |
|
現在の接続にあるすべてのメンバーの一覧を返し、データベース、キューブ、およびディメンションごとに一覧表示します。 |
|
プロパティの型、データ型、その他のメタデータと共に、各プロパティの完全修飾名を返します。 |
|
現在の接続で定義されるセットの一覧を表示します。 |
関連項目
その他の技術情報
SQL Server 2008 R2 Analysis Services 操作ガイド