動的管理ビュー (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 クエリは、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
Note
特定の行セットに対して DMV が使用できない場合、サーバーは次のエラーを返します。"スキーマの>要求の種類が<サーバーによって認識されませんでした"。 他のすべてのエラーは、構文の問題を示します。
[行セット] | 説明 |
---|---|
DBSCHEMA_CATALOGS 行セット | 現在の接続の Analysis Services データベースの一覧を返します。 |
DBSCHEMA_COLUMNS 行セット | 現在のデータベース内のすべての列の一覧を返します。 DMV クエリを作成するために、この一覧を使用できます。 |
DBSCHEMA_PROVIDER_TYPES 行セット | OLE DB データ プロバイダーでサポートされる基本データ型に関するプロパティを返します。 |
DBSCHEMA_TABLES 行セット | 現在のデータベース内のすべてのテーブルの一覧を返します。 DMV クエリを作成するために、この一覧を使用できます。 |
DISCOVER_CALC_DEPENDENCY 行セット | 他の列およびテーブルとの依存関係があるモデルで使用されている列およびテーブルの一覧を返します。 |
DISCOVER_COMMAND_OBJECTS 行セット | 参照先のコマンドによって使用されているオブジェクトに関するリソース使用量と利用状況の情報を提供します。 |
DISCOVER_COMMANDS 行セット | 現在実行されているコマンドのリソース使用状況とアクティビティ情報を提供します。 |
DISCOVER_CONNECTIONS 行セット | Analysis Services に対して開いている接続について、リソースの使用状況とアクティビティに関する情報を提供します。 |
DISCOVER_CSDL_METADATA 行セット | テーブル モデルに関する情報を返します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
DISCOVER_DB_CONNECTIONS 行セット | たとえば処理中またはインポート中に、Analysis Services から外部データ ソースに対して開いている接続について、リソースの使用状況とアクティビティに関する情報を提供します。 |
DISCOVER_DIMENSION_STAT 行セット | モデルの種類により、テーブルのディメンションまたは列の属性を返します。 |
DISCOVER_ENUMERATORS 行セット | 特定のデータ ソースについてサポートされている列挙子に関するメタデータを返します。 |
DISCOVER_INSTANCES 行セット | 指定したインスタンスに関する情報を返します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
DISCOVER_JOBS 行セット | 現在のジョブに関する情報を返します。 |
DISCOVER_KEYWORDS 行セット (XMLA) | 予約されているキーワードの一覧を返します。 |
DISCOVER_LITERALS 行セット | XMLA によってサポートされているデータ型や値など、リテラルの一覧を返します。 |
DISCOVER_LOCKS 行セット | 特定の時点で使用されているロックのスナップショットを返します。 |
DISCOVER_MEMORYGRANT 行セット | スタートアップ時に Analysis Services によって割り当てられたメモリに関する情報を返します。 |
DISCOVER_MEMORYUSAGE 行セット | 特定のオブジェクトによるメモリ使用量を示しています。 |
DISCOVER_OBJECT_ACTIVITY 行セット | サービスの前回の開始以降のオブジェクト アクティビティについてレポートします。 |
DISCOVER_OBJECT_MEMORY_USAGE 行セット | オブジェクトによるメモリ消費についてレポートします。 |
DISCOVER_PARTITION_DIMENSION_STAT 行セット | ディメンションの属性に関する情報を提供します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
DISCOVER_PARTITION_STAT 行セット | ディメンション、テーブル、またはメジャー グループのパーティションに関する情報を提供します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
DISCOVER_PERFORMANCE_COUNTERS 行セット | パフォーマンス カウンターで使用される列を示します。 SYSTEMRESTRICTSCHEMA と追加のパラメーターが必要です。 |
DISCOVER_PROPERTIES 行セット | 指定されたデータ ソースの XMLA によってサポートされるプロパティに関する情報を返します。 |
DISCOVER_SCHEMA_ROWSETS 行セット | XMLA によってサポートされているすべての列挙値について、名前、制限、説明、その他の情報を返します。 |
DISCOVER_SESSIONS 行セット | セッションのユーザーや期間など、アクティブ セッションについてレポートします。 |
DISCOVER_STORAGE_TABLE_COLUMN_SEGMENTS 行セット | テーブル モードまたは SharePoint モードで動作している Analysis Services データベースに関して、使用されているストレージ テーブルについての列およびセグメント レベルの情報を提供します。 |
DISCOVER_STORAGE_TABLE_COLUMNS 行セット | クライアントは、テーブル モードまたは SharePoint モードで動作している Analysis Services データベースによって使用されるストレージ テーブルに対する列の割り当てを確認できます。 |
DISCOVER_STORAGE_TABLES 行セット | テーブル モデル データベース内のモデルを格納するためのテーブルに関する情報を返します。 |
DISCOVER_TRACE_COLUMNS 行セット | トレースに表示される列の XML 記述を返します。 |
DISCOVER_TRACE_DEFINITION_PROVIDERINFO 行セット | プロバイダーの名前とバージョン情報を返します。 |
DISCOVER_TRACE_EVENT_CATEGORIES 行セット | 使用できるカテゴリの一覧を返します。 |
DISCOVER_TRACES 行セット | 現在の接続でアクティブに実行しているトレースの一覧を返します。 |
DISCOVER_TRANSACTIONS 行セット | 現在の接続でアクティブに実行しているトランザクションの一覧を返します。 |
DISCOVER_XEVENT_TRACE_DEFINITION 行セット | 現在の接続でアクティブに実行している XEvent トレースの一覧を返します。 |
DMSCHEMA_MINING_COLUMNS 行セット | 現在の接続で利用可能な、すべてのマイニング モデルの個々の列を一覧表示します。 |
DMSCHEMA_MINING_FUNCTIONS 行セット | サーバー上のデータ マイニング アルゴリズムによってサポートされる関数の一覧を返します。 |
DMSCHEMA_MINING_MODEL_CONTENT 行セット | 現在のモデルを説明する列で構成される行セットを返します。 |
DMSCHEMA_MINING_MODEL_CONTENT_PMML 行セット | PMML 形式で現在のモデルを説明する列で構成される行セットを返します。 |
DMSCHEMA_MINING_MODEL_XML 行セット | PMML 形式で現在のモデルを説明する列で構成される行セットを返します。 |
DMSCHEMA_MINING_MODELS 行セット | 現在のデータベース内のマイニング モデルの一覧を返します。 |
DMSCHEMA_MINING_SERVICE_PARAMETERS 行セット | サーバー上のアルゴリズムのパラメーターの一覧を返します。 |
DMSCHEMA_MINING_SERVICES 行セット | サーバー上で使用可能なデータ マイニング アルゴリズムの一覧を返します。 |
DMSCHEMA_MINING_STRUCTURE_COLUMNS 行セット | 現在の接続で使用できるすべてのマイニング モデルのすべての列の一覧を返します。 |
DMSCHEMA_MINING_STRUCTURES 行セット | 現在の接続で利用可能なマイニング構造を一覧表示します。 |
MDSCHEMA_CUBES 行セット | 現在のデータベースで定義されるキューブに関する情報を返します。 |
MDSCHEMA_DIMENSIONS 行セット | 現在のデータベースで定義されるディメンションに関する情報を返します。 |
MDSCHEMA_FUNCTIONS 行セット | データベースに接続されているクライアント アプリケーションで利用できる関数の一覧を返します。 |
MDSCHEMA_HIERARCHIES 行セット | 現在のデータベースで定義される階層に関する情報を返します。 |
MDSCHEMA_INPUT_DATASOURCES 行セット | 現在のデータベースで定義されるデータ ソース オブジェクトに関する情報を返します。 |
MDSCHEMA_KPIS 行セット | 現在のデータベースで定義される KPI に関する情報を返します。 |
MDSCHEMA_LEVELS 行セット | 現在のデータベースで定義される階層内のレベルに関する情報を返します。 |
MDSCHEMA_MEASUREGROUP_DIMENSIONS 行セット | メジャー グループのディメンションを一覧表示します。 |
MDSCHEMA_MEASUREGROUPS 行セット | 現在の接続にあるメジャー グループの一覧を返します。 |
MDSCHEMA_MEASURES 行セット | 現在の接続にあるメジャーの一覧を返します。 |
MDSCHEMA_MEMBERS 行セット | 現在の接続にあるすべてのメンバーの一覧を返し、データベース、キューブ、およびディメンションごとに一覧表示します。 |
MDSCHEMA_PROPERTIES 行セット | プロパティの型、データ型、その他のメタデータと共に、各プロパティの完全修飾名を返します。 |
MDSCHEMA_SETS 行セット | 現在の接続で定義されるセットの一覧を表示します。 |
参照
SQL Server 2008 R2 Analysis Services 操作ガイド
New System.Discover_Object_Activity
制限された行セットと DMV の新しい SYSTEMRESTRICTEDSCHEMA 関数