データ ソースの作成 (SSAS 多次元)
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
SQL Server Analysis Services多次元モデルでは、データ ソース オブジェクトは、データの処理 (またはインポート) 元のデータ ソースへの接続を表します。 多次元モデルには少なくとも 1 つのデータ ソース オブジェクトが含まれている必要がありますが、複数のデータ ウェアハウスのデータを結合するために、データ ソース オブジェクトをさらに追加することもできます。 このトピックで説明する手順に従って、モデルのデータ ソース オブジェクトを作成します。 このオブジェクトのプロパティの設定の詳細については、「 Set Data Source Properties (SSAS 多次元)」を参照してください。
このトピックのセクションは次のとおりです。
データ プロバイダーの選択
マネージド Microsoft .NET Frameworkまたはネイティブ OLE DB プロバイダーを使用して接続できます。 SQL Server データ ソースでは、通常、SQL Server Native Client を使用するとパフォーマンスが向上するため、このデータ プロバイダーを使用することをお勧めします。
Oracle や他のサードパーティのデータ ソースの場合、そのサードパーティがネイティブ OLE DB プロバイダーを提供しているかどうかを確認し、まずそのプロバイダーを使用してみます。 エラーが発生した場合は、接続マネージャーで一覧に示されている他の .NET プロバイダーまたはネイティブ OLE DB プロバイダーを試してみます。 使用するすべてのデータ プロバイダーが、SQL Server Analysis Services ソリューションの開発と実行に使用されるすべてのコンピューターにインストールされていることを確認します。
資格情報と権限借用オプションの設定
データ ソース接続では、Windows 認証またはデータベース管理システムによって提供される認証サービス (SQL Azure データベースに接続するときの SQL Server 認証など) を使用できる場合があります。 指定するアカウントには、リモート データベース サーバーのログイン権限と外部データベースの読み取り権限が必要です。
Windows 認証
Windows 認証を使用する接続は、データ ソース デザイナーの [権限借用情報] タブで指定されます。 このタブを使用して、外部データ ソースに接続するときにSQL Server Analysis Servicesを実行するアカウントを指定する偽装オプションを選択します。 すべてのシナリオですべてのオプションを使用できるわけではありません。 これらのオプションとその使用方法の詳細については、「 偽装オプションの設定 (SSAS - 多次元)」を参照してください。
データベース認証
Windows 認証の代わりに、データベース管理システムによって提供される認証サービスを使用する接続を指定できます。 場合によっては、データベース認証を使用することが必要となります。 データベース認証を使用する必要があるのは、SQL Server 認証を使用して Windows Azure SQL データベースに接続する場合や、別のオペレーティング システムまたは信頼されていないドメインで実行されているリレーショナル データ ソースにアクセスする場合などです。
データベース認証を使用するデータ ソースでは、接続文字列でデータベース ログインのユーザー名とパスワードが指定されます。 SQL Server Analysis Services モデルでデータ ソース接続を設定するときに、接続マネージャーでユーザー名とパスワードを入力すると、資格情報が接続文字列に追加されます。 必ず、データの読み取り権限を持つユーザー ID を指定してください。
データを取得するときに、接続するクライアント ライブラリは接続文字列に資格情報が含まれた接続要求を作成します。 [権限借用情報] タブの Windows 認証資格情報のオプションは接続では使用されませんが、ローカル コンピューター上のリソースへのアクセスなど、他の操作に使用できます。 詳細については、「 偽装オプションの設定 (SSAS - 多次元)」を参照してください。
モデルでデータ ソース オブジェクトを保存すると、接続文字列とパスワードが暗号化されます。 セキュリティを確保するために、表示されているパスワードのトレースは、その後、ツール、スクリプト、またはコードで表示するときに接続文字列からすべて削除されます。
注意
既定では、SQL Server Data Toolsは接続文字列を使用してパスワードを保存しません。 パスワードが保存されていない場合は、必要に応じてパスワードの入力を求めるメッセージが表示SQL Server Analysis Services。 パスワードを保存するように選択した場合、パスワードは暗号化形式でデータ接続文字列に保存されます。 SQL Server Analysis Servicesは、データ ソースを含むデータベースのデータベース暗号化キーを使用して、データ ソースのパスワード情報を暗号化します。 暗号化された接続情報では、SQL Server 構成マネージャーを使用して、SQL Server Analysis Services サービス アカウントまたはパスワードを変更する必要があります。または、暗号化された情報を回復できません。 詳細については、「 SQL Server Configuration Manager」を参照してください。
データ マイニング オブジェクト用の権限借用情報の定義
データ マイニング クエリは、SQL Server Analysis Services サービス アカウントのコンテキストで実行できますが、クエリを送信するユーザーのコンテキストまたは指定したユーザーのコンテキストで実行することもできます。 クエリが実行されるコンテキストは、クエリの結果に影響する場合があります。 データ マイニングの OPENQUERY 型の演算では、サービス アカウントのコンテキストではなく、現在のユーザーのコンテキスト、または指定されたユーザー (クエリを実行するユーザーにかかわらず) のコンテキストでデータ マイニング クエリを実行できます。 これにより、限られたセキュリティ資格情報でクエリを実行することができます。 現在のユーザーの権限を借用SQL Server Analysis Services、または指定したユーザーを偽装する場合は、[特定のユーザー名とパスワードを使用する] または [現在のユーザーの資格情報を使用する] オプションを選択します。
データ ソース ウィザードによるデータ ソースの作成
SQL Server Data Toolsで、SQL Server Analysis Services プロジェクトを開くか、データ ソースを定義するSQL Server Analysis Services データベースに接続します。
ソリューション エクスプローラーで [データ ソース] フォルダーを右クリックし、 [新しいデータ ソース] をクリックして、 データ ソース ウィザードを開始します。
[接続の定義方法を選択します] ページで [既存の接続または新しい接続に基づいてデータ ソースを作成する] を選択し、次に [新規作成] をクリックして 接続マネージャーを開きます。
新しい接続は、接続マネージャーで作成されます。 接続マネージャーでは、プロバイダーを選択し、そのプロバイダーが基になるデータに接続するために使用する接続文字列プロパティを指定します。 必要な情報は選択したプロバイダーによって異なりますが、通常は、サーバーまたはサービス インスタンス、サーバーまたはサービス インスタンスへのログオン情報、データベース名またはファイル名、その他のプロバイダー固有の設定を指定します。 この手順の残りの部分では、SQL Serverデータベース接続を想定します。
接続に使用する Microsoft .NET Framework またはネイティブ OLE DB プロバイダーを選択します。
新しい接続の既定のプロバイダーは、ネイティブ OLE DB\SQL Server Native Client プロバイダーです。 このプロバイダーは、OLE DB を使用してSQL Server データベース エンジン インスタンスに接続するために使用されます。 SQL Server リレーショナル データベースに接続する場合、通常は、Native OLE DB\SQL Server Native Client 11.0 を使用する方が、代替プロバイダーを使用するより高速です。
他のデータ ソースにアクセスするために、別のプロバイダーを選択できます。 SQL Server Analysis Servicesでサポートされているプロバイダーとリレーショナル データベースの一覧については、「サポートされているデータ ソース (SSAS - 多次元)」を参照してください。
選択したプロバイダーから要求される情報を入力して、基になるデータ ソースに接続します。 [ネイティブ OLE DB\SQL Server Native Client] プロバイダーを選択した場合は、次の情報を入力します。
[サーバー名] は、データベース エンジン インスタンスのネットワーク名です。 IP アドレス、コンピューターの NETBIOS 名、または完全修飾ドメイン名として指定できます。 サーバーが名前付きインスタンスとしてインストールされている場合は、インスタンス名 (computername>\<instancename> など<) を含める必要があります。
[サーバー ログオン] は、接続の認証方法を指定します。 [Windows 認証を使用する] では、Windows 認証が使用されます。 [SQL Server 認証を使用する] では、Windows Azure SQL データベース、または混合モード認証をサポートする SQL Server インスタンスのデータベース ユーザー ログインを指定します。
重要
接続マネージャーには、SQL Server 認証を使用する接続のための [パスワードを保存する] チェック ボックスがあります。 チェック ボックスは常に表示されていますが、常に使用されるわけではありません。
Analysis Services がこのチェック ボックスを使用しないのは、アクティブな Analysis Services データベースで使用されている SQL Server のリレーショナル データを更新または処理する場合などです。 [パスワードを保存する]をオフまたはオンのどちらにするかに関係なく、Analysis Services は常にパスワードを暗号化して保存します。 パスワードは、暗号化されて、.abf ファイルとデータ ファイルの両方に格納されます。 このような動作が行われるのは、Analysis Services がサーバーへのセッションベースのパスワードの保存をサポートしないためです。
この動作は、データベースが a) Analysis Services サーバー インスタンスに保存され、b) リレーショナル データを更新または処理するために SQL Server 認証を使用する場合にのみ適用されます。 セッションの期間中にのみ使用されるSQL Server Data Toolsで設定したデータ ソース接続には適用されません。 既に保存されているパスワードを削除する方法はありませんが、異なる資格情報または Windows 認証を使用して、現在データベースで保存されているユーザー情報を上書きできます。
データベースを指定するには、[データベース名の選択または入力] または [データベース ファイルの添付] を使用します。
ダイアログ ボックスの左側で [すべて] をクリックして、このプロバイダーのすべての既定の設定など、この接続の追加の設定を表示します。
使用環境に応じて設定を変更し、 [OK]をクリックします。
データ ソース ウィザードの [接続の定義方法を選択します] ページにある [データ接続] ペインに新しい接続が表示されます。
[次へ] をクリックします。
[権限借用情報]で、Analysis Services が外部データ ソースに接続する際に使用する Windows 資格情報またはユーザー ID を指定します。 データベース認証を使用する場合、接続でこれらの設定は無視されます。
権限借用のオプションを選択するためのガイドラインは、データ ソースをどのように使用するかによって異なります。 タスクを処理するには、データ ソースに接続するときに、SQL Server Analysis Services サービスをサービス アカウントまたは指定したユーザー アカウントのセキュリティ コンテキストで実行する必要があります。
最小特権資格情報の一意のセットを指定する場合は、[特定の Windows ユーザー名とパスワードを使用する] 。
サービス ID を使用してデータを処理する場合は、[サービス アカウントを使用する] 。
指定するアカウントは、データ ソースに対する読み取り権限を持っている必要があります。
[次へ] をクリックします。 [ウィザードの完了]で、データ ソースの名前を入力するか、既定の名前を使用します。 既定の名前は、接続で指定されたデータベース名になっています。 この新しいデータ ソースの接続文字列が [プレビュー] ペインに表示されます。
[完了] をクリックします。 ソリューション エクスプローラーの [データ ソース] フォルダーに、新しいデータ ソースが表示されます。
既存の接続を使用したデータ ソースの作成
SQL Server Analysis Services プロジェクトで作業する場合、データ ソースはソリューション内の既存のデータ ソースに基づくか、SQL Server Analysis Services プロジェクトに基づくことができます。 データ ソース ウィザードには、同じプロジェクトの既存の接続を使用するオプションなど、データ ソース オブジェクトを作成するためのオプションがいくつか用意されています。
ソリューション内の既存のデータ ソースに基づくデータ ソースを作成する場合、その既存のデータ ソースに同期されたデータ ソースを定義できます。 この新しいデータ ソースを含んだプロジェクトを構築すると、基になるデータ ソースのデータ ソース設定が使用されます。
SQL Server Analysis Services プロジェクトに基づいてデータ ソースを作成すると、現在のプロジェクト内のソリューション内の別のSQL Server Analysis Services プロジェクトを参照できます。 新しいデータ ソースは、選択したプロジェクトの Data Source プロパティと Initial Catalog プロパティから取得した TargetServer プロパティと TargetDatabase プロパティで MSOLAP プロバイダーを使用します。 この機能は、複数のSQL Server Analysis Services プロジェクトを使用してリモート パーティションを管理するソリューションで役立ちます。これは、データベースのソースと宛先SQL Server Analysis Servicesが、リモート パーティションのストレージと処理をサポートするために相互データ ソースを必要とするためです。
データ ソース オブジェクトを参照する場合は、参照されたオブジェクトまたはプロジェクトでのみそのオブジェクトを編集できます。 参照を含むデータ ソース オブジェクト内で接続情報を編集することはできません。 参照されたオブジェクトまたはプロジェクトでの接続情報の変更は、新しいデータ ソースの構築時にそれに反映されます。 プロジェクトのデータ ソース (.ds) ファイル内の接続文字列情報は、プロジェクトを作成するか、データ ソース デザイナーで参照をクリアしたときに同期されます。
接続プロパティの表示または編集
接続文字列は、データ ソース デザイナーまたは新しいデータ ソース ウィザードで選択したプロパティに基づいて生成されます。 接続文字列とその他のプロパティは、SQL Server Data Toolsで表示できます。
接続文字列を編集するには
SQL Server Data Toolsで、ソリューション エクスプローラーのデータ ソース オブジェクトをダブルクリックします。
[編集]をクリックし、左側のナビゲーション ウィンドウで [すべて] をクリックします。
プロパティ グリッドが表示され、使用しているデータ プロバイダーの使用可能なプロパティが示されます。 これらのプロパティの詳細については、プロバイダーの製品ドキュメントを参照してください。 SQL Server Native Client については、「 SQL Server Native Client での接続文字列キーワードの使用」を参照してください。
ソリューションに複数のデータ ソース オブジェクトがあり、接続文字列を 1 か所に維持する場合、他のデータ ソース オブジェクトを参照するように現在のデータ ソースを構成できます。
データ ソース参照は、同じソリューション内の別のSQL Server Analysis Services プロジェクトまたはデータ ソースとの関連付けです。 参照は、ソリューション内のオブジェクト間でデータ ソースを同期する手段を提供します。 接続文字列情報はプロジェクトをビルドするたびに同期されます。 別のオブジェクトを参照するデータ ソースの接続文字列を変更するには、参照先のオブジェクトの接続文字列を変更する必要があります。
チェック ボックスをオフにして、参照を削除できます。 これにより、オブジェクト間の同期が終了し、データ ソースの接続文字列を変更できます。
モデルへの複数のデータ ソースの追加
追加のデータ ソースへの接続をサポートするために、複数のデータ ソース オブジェクトを作成できます。 各データ ソースには、リレーションシップを作成するために使用できる列が必要です。
注意
複数のデータ ソースが定義され、単一のクエリにおいて複数のソースからデータをクエリする場合 (スノーフレーク ディメンションの場合など) は、 OpenRowsetを使用してリモート クエリをサポートするデータ ソースを定義する必要があります。 通常、これは Microsoft SQL Server データ ソースになります。
複数のデータ ソースを使用するための要件には、次のようなものがあります。
プライマリ データ ソースとして、1 つのデータ ソースを指定します。 プライマリ データ ソースは、データ ソース ビューを作成するために使用されるデータ ソースです。
プライマリ データ ソースは、 OpenRowset 関数をサポートしている必要があります。 SQL Server のこの関数の詳細については、「 OpenRowSet」を参照してください。
複数のデータ ソースのデータを結合するには、次の方法を使用します。
モデルにデータ ソースを作成します。
データ ソースとして SQL Server のリレーショナル データベースを使用して、データ ソース ビューを作成します。 これがプライマリ データ ソースになります。
データ ソース ビュー デザイナーで、作成したデータ ソース ビューを使用して、作業領域の任意の場所を右クリックし、 [テーブルの追加と削除]を選択します。
2 番目のデータ ソースを選択し、追加するテーブルを選択します。
追加したテーブルを探し、選択します。 テーブルを右クリックし、 [新しいリレーションシップ]を選択します。 一致するデータを含む、基になる列と対象になる列を選択します。