SQL Server Analysis Services への接続
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
この記事では、一般的なツールとアプリケーションを使用して SQL Server Analysis Services (SSAS) のインスタンスに接続する方法について説明します。 この記事では、テスト目的でさまざまなユーザー ID で接続する方法についても説明します。
Azure Analysis Servicesへの接続の詳細については、「サーバー リソースへの接続」を参照してください。
Power BI Premium ワークスペースへの接続の詳細については、「Premium ワークスペースへの接続」を参照してください。
ファイアウォールとアクセス許可
SSAS への正常な接続は、有効なポート構成と適切なユーザーアクセス許可によって異なります。 それぞれの要件の詳細については、次のリンクをクリックしてください。
注意
クライアント アプリケーションで必要なクライアント ライブラリは、ユーザー名とパスワードを必要とするプロキシ サーバーを介して Analysis Services に接続できません。
SQL Server Management Studio (SSMS) を使用して接続する
サーバー インスタンスとデータベースを対話操作で管理するには、SSMS で Analysis Services に接続します。 また、XMLA クエリや MDX クエリを実行して、管理タスクの実行またはデータの取得を行うこともできます。 クエリの送信時にのみデータベースを読み込むツールやアプリケーションとは異なり、SSMS では、ユーザーがサーバーに接続すると、すべてのデータベースが読み込まれます (データベースを表示する権限がユーザーにある場合)。 これは、サーバー上に多数のテーブル データベースがある場合、SSMS を使用して接続するとすべてのデータベースがシステム メモリに読み込まれることを表します。
特定のユーザー ID で SSMS を実行し、そのユーザーとして Analysis Services に接続することで、権限をテストできます。
Shift キーを押したまま [SQL Server Management Studio] を右クリックして、 [別のユーザーとして実行] オプションにアクセスします。
SQL Server Management Studio を起動します。 [サーバーへの接続] ダイアログ ボックスで、SQL Server Analysis Servicesサーバーの種類を選択します。
[ログイン] タブで、サーバーを実行しているコンピューターの名前を入力することによりサーバー名を指定します。 ネットワーク名または完全修飾ドメイン名を使用してサーバーを指定できます。
名前付きインスタンスの場合は、servername\instancename の形式でサーバー名を指定する必要があります。 たとえば、サーバーのネットワーク名が ADV-SRV062 で、Finance という名前付きインスタンスとして Analysis Services がインストールされている場合、「ADV-SRV062\Finance」と入力します。
フェールオーバー クラスター内に配置したサーバーの場合は、SSAS クラスターのネットワーク名を使用して接続します。 この名前は、SQL Server のセットアップ時に、 [SQL Server のネットワーク名]として指定されます。 Windows Server フェールオーバー クラスター (WSFC) に、名前付きインスタンスとして SSAS をインストールした場合、接続時にインスタンス名を追加することはできません。 これは SSAS 独自の処理です。これとは対照的に、クラスター化されたリレーショナル データベース エンジンの名前付きインスタンスには、インスタンス名が含まれています。 たとえば、SSAS とデータベース エンジンの両方を名前付きインスタンス (Contoso-Accounting) として、SQL-CLU という SQL Server のネットワーク名を使用してインストールした場合、"SQL-CLU" を使って SSAS に接続し、"SQL-CLU\Contoso-Accounting" というデータベース エンジンに接続することになります。 詳細と例については、「 SQL Server Analysis Services をクラスター化する方法 」を参照してください。
ネットワーク負荷分散クラスター内に配置したサーバーの場合は、NLB の仮想サーバー名を使用して接続します。
認証方式は常に Windows 認証です。また、ユーザー ID として使用するユーザーは常に、Management Studio を介して接続する Windows ユーザーです。
接続に成功するためには、サーバー (またはサーバー上のデータベース) にアクセスするための権限が必要です。 Management Studio で実行するほとんどのタスクには管理権限が必要です。 接続に使用するアカウントがサーバー管理者ロールのメンバーであることを確認します。 詳細は、「Grant server admin rights to an Analysis Services instance」 (Analysis Services インスタンスにサーバー管理者権限を付与する) を参照してください。
[接続プロパティ] をクリックして、特定のデータベースを指定、タイムアウト値を設定、または暗号化のオプションを設定します。 省略可能な接続情報としては、現在の接続にしか使用されない接続プロパティがあります。
[追加の接続パラメーター] タブをクリックして、[サーバーへの接続] ダイアログ ボックスに用意されていない接続プロパティを設定します。 たとえば、テキスト ボックスに
Roles=Reader
を入力する場合があります。より限られた権限のロールで接続すると、そのロールが有効なときにデータベースの動作をテストすることができます。
Provider=MSOLAP; Data Source=SERVERNAME; Initial Catalog=AdventureWorks2012; Roles=READER
Excel による接続
ビジネス データを分析するために Microsoft Excel を使用することがよくあります。 Office で Excel をインストールすると、ネットワーク サーバー上のデータをいつでもすぐに利用できるように、Analysis Services OLE DB プロバイダー (MSOLAP.dll)、ADOMD.NET、およびその他のデータ プロバイダーがインストールされます。 古いバージョンの Excel で新しいバージョンのSQL Server Analysis Servicesを使用している場合は、ほとんどの場合、SQL Server Analysis Servicesに接続する各ワークステーションに新しいクライアント ライブラリをインストールする必要があります。 詳細については、「 クライアント ライブラリ」を参照してください。
Analysis Services キューブまたはテーブル モデル データベースに対する接続をセットアップすると、接続情報が、将来の使用に備えて .odc ファイルに保存されます。 接続は、現在の Windows ユーザーのセキュリティ コンテキストで確立されます。 接続が成功するためには、このユーザー アカウントに、データベースの読み取り権限が与えられている必要があります。
Excel ブックでSQL Server Analysis Servicesデータを使用する場合、接続はクエリ要求の間保持されます。 このため、Excel からクエリ ワークロードを監視する際に、各セッションに対して多くの接続が確認される場合があります。これらの接続が保持されるのは短期間です。
特定のユーザー ID で Excel を起動することにより、権限をテストできます。
Shift キーを押したまま [Excel] を右クリックして、 [別のユーザーとして実行] オプションにアクセスします。
Excel の [データ] タブで、 [その他のデータ ソース]をクリックし、 [Analysis Services]をクリックします。 サーバー名を入力し、クエリを実行するキューブまたはパースペクティブを選択します。
負荷分散クラスター内に配置するサーバーの場合は、クラスターに割り当てた仮想サーバー名を使用します。
Excel での接続を設定するときに、データ接続ウィザードの最後のページで、Excel Services の認証設定を指定できます。 Excel Services が存在する SharePoint サーバーにブックをアップロードするときには、これらの設定を使用してブックのプロパティが設定されます。 この設定は、データ更新操作で使用されます。 オプションとしては、 [Windows 認証]、 [Secure Store Service] (SSS)、 [なし]があります。
[なし]を選択することは避けてください。 Analysis Services では、接続先のサーバーが HTTP アクセス用に構成されていないと、ユーザー名とパスワードを接続文字列に指定できません。 同様に、Analysis Services データベースに対するユーザー アクセス権を持った一連の Windows ユーザーの資格情報に SSS ターゲット アプリケーション ID がマップされていることがわかっている場合を除き、SSS は使用しないでください。 既定のオプションは Windows 認証であり、Excel から Analysis Services に接続するほとんどのシナリオに最適な選択肢です。
詳細については、「 SQL Server Analysis Services のデータに接続する、または SQL Server Analysis Services のデータをインポートする」を参照してください。
Visual Studio を使用して接続する
Visual Studio と Analysis Services プロジェクトは、BI ソリューションを構築するために使用されます。 レポートまたはパッケージを構築する際に、Analysis Services への接続を指定する必要が生じる場合があります。
次のリンク先では、レポート サーバー プロジェクトまたは Integration Services プロジェクトから Analysis Services に接続する方法を説明しています。
注意
Visual Studio を使用して既存の Analysis Services プロジェクトで作業する場合は、ローカルまたはバージョン管理されたプロジェクトを使用してオフラインで接続することも、オンライン モードで接続してデータベースの実行中に Analysis Services オブジェクトを更新することもできます。 詳細については、「 Analysis Services データベースへのオンライン モードでの接続」を参照してください。 より一般的には、SQL Server Data Toolsからの接続はプロジェクト モードであり、変更はプロジェクトを明示的に配置した場合にのみデータベースに配置されます。
テスト接続
SQL Server Profilerを使用して Analysis Services への接続を監視します。 Audit Login イベントおよび Audit Logout イベントは、接続の証拠を示します。 ID 列は、接続が確立されたセキュリティ コンテキストを示します。
Analysis Services インスタンスで SQL Server Profiler を開始し、新しいトレースを開始します。
[イベントの選択] で、[Security Audit] セクションの [ Audit Login ] および [ Audit Logout ] のチェック ボックスがオンになっていることを確認します。
リモート クライアント コンピューターから、アプリケーション サービス (SharePoint、Reporting Services など) を介して Analysis Services に接続します。 Audit Login イベントに、Analysis Services に接続しているユーザーの ID が表示されます。
接続エラーがトレースされると、多くの場合、不完全なサーバー構成や無効なサーバー構成であることがわかります。 必ずサーバー構成を最初に確認します。
リモート コンピューターから ping を実行して、サーバーがリモート接続を許可することを確認します。
サーバー上のファイアウォール ルールでは、同じドメインのクライアントからの着信接続が許可されます。
Power Pivot for SharePoint を除き、リモート サーバーへのすべての接続では、Analysis Services がリッスンしているポートへのアクセスを許可するようにファイアウォールを構成している必要があります。 接続エラーが発生した場合は、ポートにアクセスできるかどうかと、適切なデータベースに対しユーザー権限が付与されていることを確認してください。
テストするには、リモート コンピューターで Excel または SSMS を使用し、Analysis Services インスタンスが使用する IP アドレスとポートを指定します。 接続できる場合は、ファイアウォール ルールがインスタンスに対して有効であり、インスタンスはリモート接続を許可します。
また、TCP/IP を接続プロトコルに使用する場合、Analysis Services では、クライアント接続が同じドメインまたは信頼されたドメインからのものであることが必要です。 接続がセキュリティの境界をまたがっている場合は、HTTP アクセスを構成する必要性が最も高くなります。 詳細については、「 インターネット インフォメーション サービス (IIS) 8.0 で Analysis Services への HTTP アクセスを構成する」を参照してください。
一部のツールで接続できるが他のツールでは接続できないということはないでしょうか。 間違ったバージョンのクライアント ライブラリが問題である可能性があります。 クライアント ライブラリは、SQL Server Feature Pack のダウンロード ページから入手きます。
接続エラーの解決に役立つリソースは次のとおりです。
SQL Server 2005 Analysis Services 接続シナリオでの一般的な接続の問題の解決。 このドキュメントは数年前のものですが、記載されている情報と手法はそのまま適用されます。