データ マイニング サービスおよびデータ ソース

適用対象: Azure Analysis Services Power BI Premiumを SQL Server Analysis Servicesする

重要

データ マイニングは、SQL Server 2017 Analysis Services で非推奨となり、SQL Server 2022 Analysis Services で廃止されました。 非推奨および廃止された機能については、ドキュメントは更新されません。 詳細については、 Analysis Services の下位互換性に関するページを参照してください。

データ マイニングでは、SQL Server Analysis Services のインスタンスへの接続が必要になります。 キューブからのデータはデータ マイニングには必要ありません。また、リレーショナル ソースを使用することをお勧めします。ただし、データ マイニングでは、SQL Server Analysis Services エンジンによって提供されるコンポーネントが使用されます。

このトピックでは、データ マイニング モデルを作成、処理、デプロイ、またはクエリするために、SQL Server SQL Server Analysis Servicesのインスタンスに接続するときに知る必要がある情報を提供します。

データ マイニング サービス

Microsoft SQL Server SQL Server Analysis Servicesのサーバー コンポーネントは、通常、Windows サービスとして実行されるmsmdsrv.exe アプリケーションです。 このアプリケーションは、セキュリティ コンポーネント、XML for Analysis (XMLA) リスナー コンポーネント、クエリ プロセッサ コンポーネント、および次の機能を実行するその他多くの内部コンポーネントで構成されています。

  • クライアントから受信したステートメントの解析

  • メタデータの管理

  • トランザクションの処理

  • 計算の処理

  • ディメンションおよびセル データの格納

  • 集計の作成

  • クエリのスケジュール設定

  • オブジェクトのキャッシュ

  • サーバー リソースの管理

XMLA リスナー

XMLA リスナー コンポーネントは、SQL Server Analysis Servicesとそのクライアント間のすべての XMLA 通信を処理します。 msmdsrv.ini ファイルの SQL Server Analysis Services ポート構成設定を使用して、SQL Server Analysis Services インスタンスがリッスンするポートを指定できます。 このファイルの値 0 は、既定のポートSQL Server Analysis Servicesリッスンすることを示します。 特に指定しない限り、SQL Server Analysis Servicesは次の既定の TCP ポートを使用します。

Port 説明
2383 SQL Server SQL Server Analysis Servicesの既定のインスタンス。
2382 SQL Server SQL Server Analysis Servicesの他のインスタンスのリダイレクター。
サーバーの起動時に動的に割り当てられます。 SQL Server SQL Server Analysis Servicesの名前付きインスタンス。

このサービスが使用するポートを制御する方法の詳細については、「 Analysis Services のアクセスを許可するための Windows ファイアウォールの構成」を参照してください。

データ ソースへの接続

データ マイニング構造やデータ マイニング モデルを作成したり更新したりする際には、データ ソースで定義されているデータを使用します。 データ ソースには、Excel ブック、テキスト ファイル、SQL Server データベースなどのデータは含まれていません。接続情報が定義されているだけです。 データ ソース ビュー (DSV) は、そのソース上の抽象化レイヤーとして機能し、ソースから取得されるデータの変更やマップを行います。

これらの各ソースの接続要件については、このトピックでは説明していません。 詳細については、プロバイダーのマニュアルを参照してください。 ただし、一般には、プロバイダーとのやり取りで、Analysis Services の次の要件に注意してください。

  • データ マイニングはサーバーによって提供されるサービスであるため、SQL Server Analysis Services インスタンスにデータ ソースへのアクセス権を付与する必要があります。 アクセスには、場所とユーザー情報という、2 つの側面があります。

    場所 に関して問題になるのは、自分のコンピューターだけに格納されているデータを使用してモデルを作成し、それをサーバーに配置した場合、データ ソースが見つからないためにモデルの処理が失敗することです。 この問題を解決するには、SQL Server Analysis Servicesが実行されているのと同じSQL Server インスタンスにデータを転送するか、ファイルを共有の場所に移動することが必要になる場合があります。

    ID は、SQL Server Analysis Services上のサービスが適切な資格情報でデータ ファイルまたはデータ ソースを開くことができる必要があることを意味します。 たとえば、モデルの作成者はデータを表示するための無制限の権限を持っているとしても、サーバー上のモデルを処理および更新するユーザーはデータへのアクセスが制限または禁止されている場合があるため、モデルのコンテンツの処理や変更が失敗することがあります。 少なくとも、リモート データ ソースへの接続に使用されるアカウントは、データの読み取り権限を持っている必要があります。

  • モデルを移動するときには、同じ要件が適用されます。元のデータ ソースの場所への適切なアクセスをセットアップするか、データ ソースをコピーするか、新しいデータ ソースを構成する必要があります。 また、ログインおよびロールを転送するか、データ マイニング オブジェクトを新しい場所で処理および更新できるように権限をセットアップする必要があります。

権限とサーバー プロパティの構成

データ マイニングには、SQL Server Analysis Services データベースに対する追加のアクセス許可が必要です。 ほとんどのデータ マイニング プロパティは、[ Analysis Server プロパティ] ダイアログ ボックス (Analysis Services) を使用して設定できます。

構成できるプロパティの詳細については、「 Analysis Services のサーバー プロパティ」を参照してください。

データ マイニングに関連するサーバー プロパティを以下に示します。

  • AllowAdHocOpenRowsetQueries サーバーのメモリ領域に直接読み込まれる OLE DB プロバイダーへのアドホック アクセスを制御します。

    重要

    セキュリティを強化するため、このプロパティは falseに設定することをお勧めします。 既定値は false です。 このプロパティが falseに設定されていても、ユーザーは単一クエリを作成したり、許可されているデータ ソースに対して OPENQUERY を使用したりできます。

  • AllowedProvidersInOpenRowset アドホック アクセスが有効な場合にプロバイダーを指定します。 ProgID のコンマ区切りのリストを入力することにより、複数のプロバイダーを指定できます。

  • MaxConcurrentPredictionQueries 予測によるサーバーの負荷を制御します。 既定値 0 を指定すると、SQL Server Enterpriseに対して無制限のクエリが許可され、SQL Server Standardの同時実行クエリは最大 5 つになります。 制限を超えたクエリはシリアル化され、タイムアウトすることがあります。

サーバーにはこの他に、使用できるデータ マイニング アルゴリズム (およびアルゴリズムに対する制限) や、すべてのデータ マイニング サービスの既定値を制御するプロパティもあります。 ただし、データ マイニング ストアド プロシージャへのアクセスを制御できる設定はありません。 詳細については、「 データ マイニング プロパティ」を参照してください。

そのほか、サーバーをチューニングしたりクライアントの利用に関するセキュリティを制御したりするためのプロパティを設定することもできます。 詳細については、「 機能プロパティ」を参照してください。

注意

SQL Serverのエディションによるプラグイン アルゴリズムのサポートの詳細については、「SQL Server 2012 () のエディションでサポートされる機能https://go.microsoft.com/fwlink/?linkid=232473を参照してください。

データ マイニング オブジェクトへのプログラムによるアクセス

以下のオブジェクト モデルを使用して、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 などの他のインターフェイスがアクセスするのはデータベース スキーマだけです。

サーバーへの参照およびクエリ アクセス

OLAP/データ マイニング モードの Analysis Services のインスタンスを使用して、すべての種類の予測を実行できます。ただし、次の制限があります。

  • Server ADOMD を使用する場合は、接続を作成せずに DMX を使用してサーバーにアクセスし、 結果を直接データ テーブルにコピーできます。 ただし、リモート インスタンスでは Server ADOMD は使用できません。クエリを実行できるのはローカル サーバーだけです。

  • ADO.NET は、データ マイニングの名前付きパラメーターをサポートしません。 ADOMD.NET を使用する必要があります。

  • ADOMD.NET では、テーブル全体をパラメーターとして渡すことができます。したがって、クライアント側のデータ (サーバーからは使用できないデータ) を使用することができます。 形が指定されたテーブルを予測の入力として使用することもできます。

データ マイニング ストアド プロシージャの使用

ストアド プロシージャは、クエリを再利用に向けてカプセル化するために使用されるのが一般的です。 クライアントは CALL を使用して、システム ストアド プロシージャSQL Server Analysis Services含むストアド プロシージャを実行できます。

プロシージャがデータセットを返した場合、クライアントは、行を含む入れ子になったテーブルを持つデータセットまたはデータ テーブルを受け取ります。 たとえば、モデル コンテンツに対するクエリを作成すると、そのクエリではモデル全体が返されます。 あまり多くの行が返されないようにするには、ADOMD+ オブジェクト モデルを使用してストアド プロシージャを作成します。

サーバー ストアド プロシージャを記述するには、Microsoft.AnalysisServices.AdomdServer 名前空間を参照する必要があります。 ストアド プロシージャを作成および使用する方法の詳細については、「 ユーザー定義関数およびストアド プロシージャ」を参照してください。

注意

ストアド プロシージャを使用してデータ サーバー オブジェクトのセキュリティを変更することはできません。 ストアド プロシージャの実行時には、ユーザーの現在のコンテキストを使用してすべてのサーバー オブジェクトへのアクセスが決定されます。 したがって、ユーザーは、アクセスするすべてのデータベース オブジェクトに対する適切な権限を持っている必要があります。

関連項目

物理アーキテクチャ (Analysis Services - 多次元データ)
物理アーキテクチャ (Analysis Services - データ マイニング)
データ マイニング ソリューションおよびオブジェクトの管理