リモート サーバーとローカル サーバー (Analysis Services - データ マイニング)
データ マイニングでは、SQL Server Analysis Services のインスタンスへの接続が必要になります。データ マイニングを行うのにオンライン分析処理 (OLAP) キューブを作成したり OLAP 機能を使用したりする必要はありませんが、Analysis Services エンジンにより、パフォーマンスやスケーラビリティなどのさまざまなメリットが提供されます。また、データ マイニングは多くのコンポーネントを OLAP と共有しています。このトピックには、データ マイニング モデルの作成、処理、配置、またはクエリのために SQL Server Analysis Services のローカル インスタンスやリモート インスタンスに接続する際に知っておく必要がある情報が含まれています。
権限とサーバー プロパティの構成
データ マイニングでは、Analysis Services データベースに対する追加の権限が必要です。ほとんどのデータ マイニング プロパティは、[分析サーバーのプロパティ] ダイアログ ボックス (Analysis Services - 多次元データ) を使用して設定できます。構成できるプロパティの詳細については、「Analysis Services の構成プロパティ」を参照してください。
データ マイニングに関連するサーバー プロパティを以下に示します。
AllowAdHocOpenRowsetQueries サーバーのメモリ領域に直接読み込まれる OLE DB プロバイダへのアドホック アクセスを制御します。
重要 セキュリティを強化するため、このプロパティは false に設定することをお勧めします。既定値は false ですが、このプロパティが false に設定されていても、ユーザーは単一クエリを作成したり、許可されているデータ ソースに対して OPENQUERY を使用したりできます。
AllowedProvidersInOpenRowset アドホック アクセスが有効な場合にプロバイダを指定します。ProgID のコンマ区切りのリストを入力することにより、複数のプロバイダを指定できます。
MaxConcurrentPredictionQueries 予測によるサーバーの負荷を制御します。既定値は 0 で、SQL Server Enterprise ではクエリが制限されず、SQL Server Standard では同時実行クエリが 5 つまで許可されます。制限を超えたクエリはシリアル化され、タイムアウトすることがあります。
サーバーにはこの他に、使用できるデータ マイニング アルゴリズム (およびアルゴリズムに対する制限) や、すべてのデータ マイニング サービスの既定値を制御するプロパティもあります。ただし、データ マイニング ストアド プロシージャへのアクセスを制御できる設定はありません。詳細については、「データ マイニング プロパティ」を参照してください。
そのほか、サーバーをチューニングしたりクライアントの利用に関するセキュリティを制御したりするためのプロパティを設定することもできます。詳細については、「機能プロパティ」を参照してください。
注 プラグイン アルゴリズムを有効にできるのは SQL Server Enterprise の場合のみです。
データ マイニング オブジェクトへのプログラムによるアクセス
以下のオブジェクト モデルを使用して、Analysis Services データベースへの接続を作成し、データ マイニング オブジェクトを操作できます。
ADO OLE DB を使用して Analysis Services サーバーに接続します。ADO を使用する場合は、クライアントがスキーマ行セットのクエリと DMX ステートメントのみに制限されます。
ADO.NET 特に SQL Server プロバイダとのやり取りに適しています。データ アダプタを使用して動的な行セットを格納したり、データセット オブジェクトを使用したりできます。データセット オブジェクトは、XML として更新したり保存したりできるデータ テーブルとして格納されるサーバー データのキャッシュです。
ADOMD.NET データ マイニングと OLAP の操作に最適化されたマネージ データ プロバイダです。ADOMD.NET は ADO.NET より高速で、メモリ効率も ADO.NET より優れています。サーバー オブジェクトに関するメタデータを取得することもできます。クライアント アプリケーションでは、.NET が使用できない場合以外は ADOMD.NET を使用することをお勧めします。
Server ADOMD サーバー上で直接 Analysis Services オブジェクトにアクセスするためのオブジェクト モデルです。Analysis Services ストアド プロシージャで使用されます。クライアントでは使用しません。
AMO Decision Support オブジェクト (DSO) に代わる Analysis Services 用の管理インターフェイスです。オブジェクトの繰り返し処理などの操作では、他のインターフェイスを使用する場合に比べて高い権限が必要になります。これは、AMO が直接メタデータにアクセスするためです。ADOMD.NET などの他のインターフェイスがアクセスするのはデータベース スキーマだけです。
モデルの参照とクエリ
ローカル サーバーまたはリモート サーバーを使用して、すべての種類の予測を実行できます。ただし、次の制限があります。
Server ADOMD を使用する場合は、接続を作成せずに DMX を使用してサーバーにアクセスし、結果を直接データ テーブルにコピーできます。ただし、リモート インスタンスでは Server ADOMD は使用できません。クエリを実行できるのはローカル サーバーだけです。
ADO.NET は、データ マイニングの名前付きパラメータをサポートしません。ADOMD.NET を使用する必要があります。
ADOMD.NET では、テーブル全体をパラメータとして渡すことができます。したがって、クライアント側のデータ (サーバーからは使用できないデータ) を使用することができます。形が指定されたテーブルを予測の入力として使用することもできます。
データ マイニング ストアド プロシージャの使用
ADOMD.NET を使用すると、モデル コンテンツを階層形式で参照して、ノードを再帰的に処理することができます。ただし、モデル コンテンツに対するクエリを作成すると、そのクエリではモデル全体が返されます。あまり多くの行が返されないようにするには、ADOMD+ オブジェクト モデルを使用して、Analysis Services に対するストアド プロシージャを作成します。ストアド プロシージャは、クエリを再利用に向けてカプセル化するために使用されるのが一般的です。
クライアントでは、CALL を使用してストアド プロシージャ (Analysis Services のシステム ストアド プロシージャを含む) を実行できます。プロシージャがデータセットを返した場合、クライアントは、行を含む入れ子になったテーブルを持つデータセットまたはデータ テーブルを受け取ります。サーバー ストアド プロシージャを記述するには、Microsoft.AnalysisServices.AdomdServer 名前空間を参照する必要があります。ストアド プロシージャを作成および使用する方法の詳細については、「ユーザー定義関数およびストアド プロシージャ」を参照してください。
注意 |
---|
ストアド プロシージャを使用してデータ サーバー オブジェクトのセキュリティを変更することはできません。ストアド プロシージャの実行時には、ユーザーの現在のコンテキストを使用してすべてのサーバー オブジェクトへのアクセスが決定されます。したがって、ユーザーは、アクセスするすべてのデータベース オブジェクトに対する適切な権限を持っている必要があります。 |
データベース間またはサーバー間でのデータ マイニング オブジェクトの移動
データ マイニング オブジェクトをデータベースや Analysis Services インスタンスの間で移動するには、ソリューションを配置する方法、データベースのコピーをバックアップして復元する方法、および構造とモデルをエクスポートしてインポートする方法があります。
配置とは、運用、モデルの共有、またはアプリケーションへのモデルの埋め込みのために、モデルをテスト サーバーや開発サーバーから別のサーバーに移動するプロセスを指します。Analysis Services ソリューションの配置の詳細については、「配置 (Analysis Services - 多次元データ)」を参照してください。
Analysis Services データベース全体のバックアップおよび復元は、データ マイニング ソリューションが OLAP オブジェクトに依存している場合に適しています。SQL Server 2008 には新しいバックアップ/復元機能が用意されており、データベースをよりすばやく簡単にバックアップできます。バックアップの詳細については、「バックアップと復元の管理 (Analysis Services)」を参照してください。
DMX ステートメントを使用してマイニング モデルとマイニング構造をインポートおよびエクスポートする方法は、リレーショナル データ マイニング オブジェクトを個別に移動したりバックアップしたりする場合に最も簡単な方法です。詳細については、次の各トピックを参照してください。
INCLUDE DEPENDENCIES オプションを指定すると、必要なデータ ソース ビューの定義もエクスポートされます。この場合、モデルや構造をインポートすると、対象サーバーにデータ ソース ビューが再作成されます。モデルのインポートが完了したら、オブジェクトに対して必要なマイニング権限を設定する必要があります。
注意 |
---|
DMX を使用して OLAP モデルをエクスポートおよびインポートすることはできません。マイニング モデルが OLAP キューブに基づいている場合は、Analysis Services のバックアップ/復元機能か配置機能をデータベース全体に対して使用する必要があります。 |