Analysis Services のアクセスを許可するための Windows ファイアウォールの構成

適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

ネットワークでSQL Server Analysis Servicesまたは Power Pivot for SharePoint を使用できるようにするための重要な最初の手順は、ファイアウォールのポートのブロックを解除する必要があるかどうかを判断することです。 ほとんどのインストールでは、接続をSQL Server Analysis Servicesできる少なくとも 1 つのインバインド ファイアウォール規則を作成する必要があります。

ファイアウォールの構成要件は、SQL Server Analysis Servicesのインストール方法によって異なります。

  • 既定のインスタンスをインストールするとき、またはSQL Server Analysis Servicesフェールオーバー クラスターを作成するときに、TCP ポート 2383 を開きます。

  • 名前付きインスタンスをインストールした場合は、TCP ポート 2382 を開きます。 名前付きインスタンスは、動的なポート割り当てを使用します。 Analysis Services の探索サービスとして、SQL Server Browser サービスは TCP ポート 2382 でリッスンし、接続要求をSQL Server Analysis Servicesで現在使用されているポートにリダイレクトします。

  • SharePoint モードでSQL Server Analysis Servicesをインストールするときに TCP ポート 2382 を開き、Power Pivot for SharePoint 2013 をサポートします。 Power Pivot for SharePoint 2013 では、SQL Server Analysis Services インスタンスは SharePoint の外部にあります。 名前付きの "Power Pivot" インスタンスへの受信要求は、ネットワーク接続経由で SharePoint Web アプリケーションから送信され、開いているポートが必要です。 他のSQL Server Analysis Servicesの名前付きインスタンスと同様に、TCP 2382 で SQL Server Browser サービスの受信規則を作成して、Power Pivot for SharePoint へのアクセスを許可します。

  • Power Pivot for SharePoint 2010 では、Windows ファイアウォールでポートを開かないでください。 SharePoint へのアドインとして、サービスは SharePoint 用に構成されたポートを使用し、Power Pivot データ モデルを読み込んでクエリを実行するSQL Server Analysis Services インスタンスへのローカル接続のみを行います。

  • Windows Azure Virtual Machines で実行されているSQL Server Analysis Services インスタンスの場合は、サーバー アクセスを構成するための別の手順を使用します。 「 Windows Azure の仮想マシンでの SQL Server Business Intelligence」を参照してください。

SQL Server Analysis Servicesの既定のインスタンスは TCP ポート 2383 でリッスンしますが、別の固定ポートでリッスンするようにサーバーを構成し、servername:portnumber> という形式<でサーバーに接続<できます。>

注意

Kerberos を使用してインスタンスに接続する必要がある場合は、Analysis Services に既定以外のポートを使用することはできません。 詳細については、固定ポートでリッスンしている SSAS インスタンスの SPN 登録に関するページを参照してください

SQL Server Analysis Services インスタンスで使用できる TCP ポートは 1 つだけです。 複数のネットワーク カードまたは複数の IP アドレスを持つコンピューターでは、SQL Server Analysis Servicesは、コンピューターに割り当てられている、またはエイリアス化されたすべての IP アドレスについて、1 つの TCP ポートでリッスンします。 特定のマルチポート要件がある場合は、HTTP アクセスのSQL Server Analysis Servicesを構成することを検討してください。 そうすれば、どのポートを選択しても、複数の HTTP エンドポイントを設定できます。 「インターネット インフォメーション サービス (IIS) 8.0 で Analysis Services への HTTP アクセスを構成する」を参照してください。

このトピックは、次のセクションで構成されています。

Windows ファイアウォールの既定の設定の詳細と、データベース エンジン、Analysis Services、Reporting Services、および Integration Services に影響する TCP ポートの説明については、「 SQL Server のアクセスを許可するための Windows ファイアウォールの構成」をご覧ください。

Analysis Services で使用されるポートとファイアウォールの設定

SQL Server 2017 でサポートされている Microsoft Windows オペレーティング システムでは、Windows ファイアウォールは既定でオンであり、リモート接続をブロックしています。 Analysis Services への着信要求を許可するために、ファイアウォール内でポートを手動で開く必要があります。 SQL Server セットアップでは、この手順が自動的に実行されません。

ポートの設定は、msmdsrv.ini ファイルと、SQL Server Management Studio の Analysis Services インスタンスの [全般プロパティ] ページで指定します。 Port が正の整数に設定されている場合、Analysis Services は固定ポートでリッスンします。 Port が 0 に設定されている場合、Analysis Services が既定のインスタンスであればポート 2383 でリッスンし、名前付きインスタンスであれば動的に割り当てられたポートでリッスンします。

動的なポート割り当ては、名前付きインスタンスでのみ使用されます。 MSOLAP$InstanceName サービスによって、使用されるポートが起動時に決定されます。 名前付きインスタンスによって使用されている実際のポート番号は、次の方法で調べることができます。

  • タスク マネージャーを起動し、 [サービス] をクリックして、 MSOLAP$InstanceNameの PID を調べます。

  • コマンド ラインから netstat -ao -p TCP を実行して、その PID の TCP ポート情報を表示します。

  • SQL Server Management Studioを使用してポートを確認し、次の形式で Analysis Services サーバーに接続します: <IPAddress>:<portnumber>。

アプリケーションが特定のポートをリッスンしていても、ファイアウォールによってアクセスがブロックされていれば、接続は失敗します。 Analysis Services の名前付きインスタンスに接続するには、msmdsrv.exe へのアクセスのブロックを解除するか、ファイアウォール内でリッスンしている固定ポートへのアクセスのブロックを解除する必要があります。 以降のセクションで、その手順について説明します。

Analysis Services に対するファイアウォール設定が既に定義されているかどうかを確認するには、コントロール パネルの [セキュリティが強化された Windows ファイアウォール] を使用します。 [監視] フォルダーの [ファイアウォール] ページに、ローカル サーバーに対して定義されている規則がすべて表示されます。

SQL Server Analysis Servicesの場合、すべてのファイアウォール規則を手動で定義する必要があることに注意してください。 SQL Server Analysis ServicesおよびSQL Server Browser はポート 2382 と 2383 を予約しますが、SQL Server セットアップ プログラムも構成ツールも、ポートまたはプログラム実行可能ファイルへのアクセスを許可するファイアウォール規則を定義しません。

Analysis Services の既定のインスタンスに対する Windows ファイアウォールの構成

SQL Server Analysis Servicesの既定のインスタンスは、TCP ポート 2383 でリッスンします。 既定のインスタンスをインストールし、このポートを使用する場合は、Windows ファイアウォールの TCP ポート 2383 への受信アクセスのブロックを解除するだけで、SQL Server Analysis Servicesの既定のインスタンスへのリモート アクセスを有効にします。 既定のインスタンスがインストールされているときに、固定ポートでリッスンするようにサービスを構成する場合は、このトピックの「 Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用 」を参照してください。

このサービスが既定のインスタンス (MSSQLServerOLAPService) として動作しているかどうか確認するには、SQL Server 構成マネージャーでサービスの名前を確認します。 Analysis Services の既定のインスタンスは、常に [SQL Server Analysis Services (MSSQLSERVER)]という名前で表示されます。

注意

Windows オペレーティング システムの種類によっては、Windows ファイアウォールを構成する別のツールが用意されています。 ほとんどのツールでは、特定のポートとプログラム実行可能ファイルのどちらを開くかを選択できます。 プログラム実行可能ファイルを指定する必要がなければ、ポートを指定することをお勧めします。

受信の規則を指定するときには、後で探しやすいような名前を付けてください (たとえば、 SQL Server Analysis Services (TCP-in) 2383など)。

セキュリティが強化された Windows ファイアウォール

  1. Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ]をクリックした後、 [Windows ファイアウォール][詳細設定]の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、 [セキュリティが強化された Windows ファイアウォール]をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「 Windows ファイアウォール」と入力します。

  2. [受信の規則] を右クリックし、 [新しい規則]をクリックします。

  3. [規則の種類] で、 [ポート] をクリックした後、 [次へ]をクリックします。

  4. [プロトコルおよびポート] で、 [TCP] をクリックし、 [特定のローカル ポート] に「 2383」と入力します。

  5. [操作] で、 [接続を許可する] をクリックし、 [次へ]をクリックします。

  6. [プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、 [次へ]をクリックします。

  7. [名前] で、この規則のわかりやすい名前 (たとえば、 SQL Server Analysis Services (tcp-in) 2383) を入力し、 [完了]をクリックします。

  8. リモート接続が有効になっていることを確認するには、別のコンピューターでSQL Server Management Studioまたは Excel を開き、[サーバー名] にサーバーのネットワーク名を指定してSQL Server Analysis Servicesに接続します。

    注意

    他のユーザーは、アクセス許可が与えられるまでこのサーバーにはアクセスできません。 詳細については、「 オブジェクトと操作へのアクセスの承認 (Analysis Services)」を参照してください。

Netsh AdvFirewall 構文

  • 次のコマンドを実行すると、TCP ポート 2383 での受信要求を許可する受信の規則が作成されます。

    netsh advfirewall firewall add rule name="SQL Server Analysis Services inbound on TCP 2383" dir=in action=allow protocol=TCP localport=2383 profile=domain  
    

Analysis Services の名前付きインスタンスに対する Windows ファイアウォール アクセスの構成

SQL Server Analysis Servicesの名前付きインスタンスは、固定ポートまたは動的に割り当てられたポートでリッスンできます。ここで、SQL Server Browser サービスは、接続時にサービスの最新の接続情報を提供します。

SQL Server Browser サービスは TCP ポート 2382 でリッスンします。 UDP は使用されません。 TCP は、SQL Server Analysis Servicesで使用される唯一の伝送プロトコルです。

次のアプローチのいずれかを使用して、Analysis Services の名前付きインスタンスへのリモート アクセスを有効にします。

  • 動的なポート割り当ておよび SQL Server Browser サービスを使用します。 SQL Server Browser サービスが使用するポートのブロックを Windows ファイアウォールで解除します。 servername\instancename> という形式<でサーバーに接続します>。<

  • 固定ポートおよび SQL Server Browser サービスの両方を連携して使用します。 この方法では、servername\instancename> という形式を使用して接続できます。この場合<、サーバーは固定ポートでリッスンする点を除き、動的ポート割り当て方法と同<じです。> このシナリオでは、SQL Server Browser Service は、固定ポートでリッスンしている Analysis Services のインスタンスに名前解決を提供します。 このアプローチを使用するには、サーバーを固定ポートでリッスンするように構成し、そのポートへのアクセスのブロックを解除して、SQL Server Browser サービスが使用するポートへのアクセスのブロックを解除します。

SQL Server Browser サービスは、名前付きインスタンスでのみ使用されます。既定のインスタンスで使用されることはありません。 サービスは、SQL Server の任意の機能が名前付きインスタンスとしてインストールされるときに、自動的にインストールされ有効になります。 SQL Server Browser サービスが必要なアプローチを選択する場合、サービスが使用するサーバーで有効になっていることと起動されていることを確認してください。

SQL Server Browser サービスが使用できない場合は、ドメイン名の解決をスキップし、接続文字列内で固定ポートを割り当てる必要があります。 SQL Server Browser サービスを使用しない場合は、すべてのクライアント接続に接続文字列 (AW-SRV01:54321 など) にあるポート番号が含まれている必要があります。

オプション 1: 動的なポート割り当てを使用し、SQL Server Browser サービスへのアクセスのブロックを解除する

Analysis Services の名前付きインスタンスに対する動的なポート割り当ては、サービスの起動時に、 MSOLAP$InstanceName によって決定されます。 既定で、使用可能なポートのうち最も小さい番号のポートが要求され、サービスが再起動されるたびに異なるポート番号が使用されます。

インスタンス名の解決は、SQL Server Browser サービスによって処理されます。 名前付きインスタンスのある動的ポートの割り当てを使用している場合には、必ず、SQL Server Browser サービスの TCP ポート 2382 のブロックを解除する必要があります。

注意

SQL Server Browser サービスは、データベース エンジンに対応する UDP ポート 1434 と、Analysis Services に対応する TCP ポート 2382 をリッスンします。 SQL Server Browser サービス用に UDP ポート 1434 のブロックを既に解除している場合でも、Analysis Services 用に TCP ポート 2382 のブロックを解除する必要があります。

セキュリティが強化された Windows ファイアウォール

  1. Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ]をクリックした後、 [Windows ファイアウォール][詳細設定]の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、 [セキュリティが強化された Windows ファイアウォール]をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「 Windows ファイアウォール」と入力します。

  2. SQL Server Browser サービスへのアクセスのブロックを解除するには、 [受信の規則] を右クリックし、 [新しい規則]をクリックします。

  3. [規則の種類] で、 [ポート] をクリックした後、 [次へ]をクリックします。

  4. [プロトコルおよびポート] で、 [TCP] をクリックし、 [特定のローカル ポート] に「 2382」と入力します。

  5. [操作] で、 [接続を許可する] をクリックし、 [次へ]をクリックします。

  6. [プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、 [次へ]をクリックします。

  7. [名前] に、この規則のわかりやすい名前 ( SQL Server Browser Service (tcp-in) 2382など) を入力し、 [完了]をクリックします。

  8. リモート接続が有効になっていることを確認するには、別のコンピューターでSQL Server Management Studioまたは Excel を開き、サーバーのネットワーク名とインスタンス名を servername\instancename> という形式<で指定して Analysis Services に接続<します。> たとえば、名前付きインスタンス Finance のある AW-SRV01という名前の付けられたサーバーでは、サーバー名は AW-SRV01\Financeとなります。

オプション 2: 名前付きインスタンスに固定ポートを使用する

または、固定ポートを割り当てた後で、そのポートへのアクセスのブロックを解除します。 このアプローチには、プログラムの実行ファイルへのアクセスを許可するよりも監査を実行しやすいというメリットがあります。 このため、Analysis Services の任意のインスタンスにアクセスする方法としては、固定ポートを使用するアプローチをお勧めします。

固定ポートを割り当てるには、このトピックの「 Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用 」で説明する手順を実行してから、このセクションに戻ってポートのブロックを解除します。

セキュリティが強化された Windows ファイアウォール

  1. Windows 7 または Windows Vista の場合、コントロール パネルの [システムとセキュリティ]をクリックした後、 [Windows ファイアウォール][詳細設定]の順にクリックします。 Windows Server 2008 または 2008 R2 の場合、管理ツールを開き、 [セキュリティが強化された Windows ファイアウォール]をクリックします。 Windows Server 2012 では、アプリケーション ページを開き、「 Windows ファイアウォール」と入力します。

  2. Analysis Services へのアクセスのブロックを解除するには、 [受信の規則] を右クリックし、 [新しい規則]をクリックします。

  3. [規則の種類] で、 [ポート] をクリックした後、 [次へ]をクリックします。

  4. [プロトコルおよびポート] で、 [TCP] をクリックし、 [特定のローカル ポート]に固定ポートの番号を入力します。

  5. [操作] で、 [接続を許可する] をクリックし、 [次へ]をクリックします。

  6. [プロファイル] で、規則を適用しないネットワークの場所のチェック ボックスをオフにした後、 [次へ]をクリックします。

  7. [名前] に、この規則のわかりやすい名前 ( ポート 54321 上の SQL Server Analysis Servicesなど) を入力し、 [完了]をクリックします。

  8. リモート接続が有効になっていることを確認するには、別のコンピューターでSQL Server Management Studioまたは Excel を開き、サーバーのネットワーク名とポート番号を servername:portnumber> という形式<で指定して Analysis Services に接続<します。>

Netsh AdvFirewall 構文

  • 次のコマンドにより、SQL Server Browser サービス用の TCP 2382 のブロックを解除する受信の規則と、Analysis Services インスタンス用に指定された固定ポートのブロックを解除する受信の規則が作成されます。 これらのうちのいずれかを実行すると Analysis Services の名前付きインスタンスにアクセスできるようにできます。

    このサンプル コマンドの場合、ポート 54321 が固定ポートです。 実際のシステムで使用する場合、このポートを実際のポート番号に置き換えてください。

    netsh advfirewall firewall add rule name="SQL Server Analysis Services (tcp-in) on 54321" dir=in action=allow protocol=TCP localport=54321 profile=domain  
    
    netsh advfirewall firewall add rule name="SQL Server Browser Services inbound on TCP 2382" dir=in action=allow protocol=TCP localport=2382 profile=domain  
    

Analysis Services の既定のインスタンスまたは名前付きインスタンスに対する固定ポートの使用

ここでは、固定ポートをリッスンするように Analysis Services を構成する方法について説明します。 Analysis Services を名前付きインスタンスとしてインストールしている場合、一般的に固定ポートが使用されます。ただし、ビジネス要件またはセキュリティ要件によって既定でないポート割り当てを使用するように指定されている場合、このアプローチを使用することができます。

固定ポートを使用すると、サーバー名にポート番号を付加する必要があるため、既定のインスタンス用の接続構文が変わることに注意してください。 たとえば、SQL Server Management Studio で、ポート 54321 をリッスンしている Analysis Services のローカルな既定のインスタンスに接続するには、Management Studio の [サーバーへの接続] ダイアログ ボックスにサーバー名として「localhost:54321」と入力する必要があります。

名前付きインスタンスを使用している場合は、サーバー名の指定方法に変更を加えて固定ポートを割り当てることができます (具体的には、servername\instancename> を使用<して、固定ポートでリッスンしている名前付きインスタンスに接続できます)。 このアプローチは、SQL Server Browser サービスが実行されており、サービスがリッスンしているポートのブロックが解除されている場合のみに使用できます。 SQL Server Browser サービスは、servername\instancename に基づいて固定ポートへの<リダイレクトを提供します>。 SQL Server Browser サービスと、固定ポートをリッスンする Analysis Services の名前付きインスタンスの両方に対してポートを開いている限り、SQL Server Browser サービスによって名前付きインスタンスへの接続が解決されます。

  1. 使用可能な TCP/IP ポートから、使用するポートを決定します。

    使用が禁止されている予約済みポートと登録済みポートの一覧については、IANA の「 Port Numbers」 (ポート番号) を参照してください。 システムで既に使用されているポートの一覧を表示するには、コマンド プロンプト ウィンドウを開き、「 netstat -a -p TCP 」と入力して、システムで開いている TCP ポートの一覧を表示します。

  2. 使用するポートを決定した後、msmdsrv.ini ファイルまたは SQL Server Management Studio の Analysis Services インスタンスの [全般プロパティ] ページで、 Port 構成設定を編集して、ポートを指定します。

  3. サービスを再起動します。

  4. Windows ファイアウォールを構成して、指定した TCP ポートのブロックを解除します。 名前付きインスタンスに固定ポートを使用する場合は、そのインスタンスに指定した TCP ポートと、SQL Server Browser サービスで使用される TCP ポート 2382 の両方のブロックを解除します。

  5. 接続を検証します。それには、Management Studio を使用してローカルで接続した後、別のコンピューターのクライアント アプリケーションからリモートで接続します。 Management Studio を使用するには、サーバー名を servername:portnumber> という形式<で指定して、Analysis Services の既定のインスタンスに接続<します。> 名前付きインスタンスの場合は、サーバー名を servername>\instancename として<指定します><。

Analysis Services クラスターのポートの構成

SQL Server Analysis Services フェールオーバー クラスターは、既定のインスタンスまたは名前付きインスタンスとしてインストールしたかどうかにかかわらず、常に TCP ポート 2383 でリッスンします。 動的ポート割り当ては、Windows フェールオーバー クラスターにインストールされている場合、SQL Server Analysis Servicesでは使用されません。 クラスターでSQL Server Analysis Services実行されているすべてのノードで TCP 2383 を開きます。 クラスタリング SQL Server Analysis Servicesの詳細については、「クラスター化SQL Server Analysis Services方法」を参照してください。

PowerPivot for SharePoint のポートの構成

Power Pivot for SharePoint のサーバー アーキテクチャは、使用している SharePoint のバージョンによって根本的に異なります。

SharePoint 2013

SharePoint 2013 では、Excel Servicesは Power Pivot データ モデルの要求をリダイレクトします。その後、SharePoint 環境外のSQL Server Analysis Services インスタンスに読み込まれます。 接続は一般的なパターンに従います。ローカル コンピューター上の Analysis Services クライアント ライブラリは、同じネットワーク内のリモート SQL Server Analysis Services インスタンスに接続要求を送信します。

Power Pivot for SharePoint では常に名前付きインスタンスとしてSQL Server Analysis Servicesがインストールされるため、SQL Server Browser サービスと動的ポート割り当てを想定する必要があります。 前述のように、SQL Server Browser サービスは TCP ポート 2382 で、SQL Server Analysis Services名前付きインスタンスに送信された接続要求をリッスンし、要求を現在のポートにリダイレクトします。

SharePoint 2013 内の Excel Services が、固定ポートを使用した接続構文をサポートしないことに注意して、SQL Server Browser サービスがアクセス可能になるようにしてください。

SharePoint 2010

SharePoint 2010 を使用している場合は、Windows ファイアウォールのポートを開く必要はありません。 SharePoint は必要なポートを開き、Power Pivot for SharePoint などのアドインは SharePoint 環境内で動作します。 Power Pivot for SharePoint 2010 のインストールでは、Power Pivot System Service では、同じコンピューターにインストールされているローカル SQL Server Analysis Services (Power Pivot) サービス インスタンスを排他的に使用できます。 ネットワーク接続ではなくローカル接続を使用して、SharePoint サーバー上の Power Pivot データを読み込み、クエリし、処理するローカル Analysis Services エンジン サービスにアクセスします。 クライアント アプリケーションから Power Pivot データを要求するために、要求は SharePoint セットアップによって開かれたポートを介してルーティングされます (具体的には、受信ルールは、SharePoint - 80、SharePoint サーバーの全体管理 v4、SharePoint Web サービス、SPUserCodeV4 へのアクセスを許可するように定義されています)。 Power Pivot Web サービスは SharePoint ファーム内で実行されるため、SharePoint ファーム内の Power Pivot データへのリモート アクセスには SharePoint ファイアウォール規則で十分です。

参照

SQL Server Browser サービス (データベース エンジンと SSAS)
データベース エンジン、SQL Server エージェント、SQL Server Browser サービスの開始、停止、一時停止、再開、および再起動
データベース エンジン アクセスを有効にするための Windows ファイアウォールを構成する