SQL Server 2014 Reporting Services (SSRS) とインターネット インフォメーション サービス (IIS) を同じコンピューターにインストールして実行できます。 使用している IIS のバージョンによって、対処する必要がある相互運用性の問題が決まります。
| 適用対象: Reporting Services ネイティブ モード |
| IIS のバージョン | 問題 | 説明 |
|---|---|---|
| IIS 6.0、7.0、8.0、8.5 | あるアプリケーションに対して送信された要求が、別のアプリケーションによって受け付けられます。 URL 予約には、HTTP.SYS による優先順位規則が適用されます。 同じ仮想ディレクトリ名を持ち、共にポート 80 を監視するアプリケーションが複数存在するとき、これらのアプリケーションに宛てて送信された要求は、目的のアプリケーションの URL 予約が、もう一方のアプリケーションの URL 予約よりもあいまいに指定されていた場合、意図したターゲットに到達しない可能性があります。 |
特定の条件下では、URL 予約体系において他の URL エンドポイントに優先する登録済みのエンドポイントが、他のアプリケーション宛ての HTTP 要求を受信する場合があります。 レポート サーバー Web サービスとレポート マネージャーに一意の仮想ディレクトリ名を使用すると、この競合を回避できます。 このシナリオの詳細については、このトピックを参照してください。 |
URL 予約の優先順位規則
IIS と Reporting Services 間の相互運用性の問題を解決するには、まず URL 予約の優先順位規則を理解しておく必要があります。 優先順位規則とは、簡単に言えば、"より明示的に定義された値を持つ URL 予約が、その URL に合致した要求を先に受け取ることができる" ということです。
仮想ディレクトリを指定する URL 予約は、仮想ディレクトリが省略された URL 予約よりも明示的である。
単一アドレスが指定された URL 予約 (IP アドレス、完全修飾ドメイン名、ネットワーク コンピューター名、またはホスト名) は、ワイルドカードよりも明示的である。
厳密なワイルドカードを指定する URL 予約は、弱いワイルドカードよりも明示的である。
次の表は、一連の URL 予約の例を、最も明示的なものから順に列挙したものです。
| 例 | リクエスト |
|---|---|
| http://123.234.345.456:80/reports | ドメイン ネーム サービスが IP アドレスをそのホスト名に解決できる場合は、 http://123.234.345.456/reports または http://<computername>/reports に送信されるすべての要求を受信します。 |
| http://+:80/reports | URL に "reports" という仮想ディレクトリ名が含まれている限り、任意の IP アドレス (またはそのコンピューターの有効なホスト名) に送信されたすべての要求が受信されます。 |
| http://123.234.345.456:80 | http://123.234.345.456やhttp://<computername>を指定したリクエストを受け取り、ドメイン ネーム サービスが IP アドレスをそのホスト名に解決できる場合に限ります。 |
| http://+:80 | [すべての割り当て済み] にマップされているすべてのアプリケーション エンドポイントについて、他のアプリケーションによってまだ受信されていない要求を受信します。 |
| http://*:80 | 他のアプリケーションがまだ受け取っていない要求を、割り当てられていないすべてのアプリケーションエンドポイントにマッピングされたものに対して受信します。 |
ポートの競合の 1 つの兆候は、"System.IO.FileLoadException: プロセスは別のプロセスで使用されているため、ファイルにアクセスできません" というエラー メッセージが表示されることです。 (HRESULT からの例外: 0x80070020)」というエラー メッセージが表示されます。
SQL Server 2014 Reporting Services での IIS 6.0、7.0、8.0、8.5 の URL 予約
前のセクションで取り上げた優先順位規則を踏まえて考えると、Reporting Services と IIS に対して定義された URL 予約が、両者の相互運用性にどのように貢献しているかがわかります。 Reporting Services は、そのアプリケーションの仮想ディレクトリ名を明示的に指定する要求を受信します。一方、IIS は、それ以外のすべての要求を受信し、それらを IIS のプロセス モデル内で実行されるアプリケーションに送ることになります。
| アプリケーション | URL 予約 | 説明 | 受信する要求 |
|---|---|---|---|
| レポート サーバー | http://+:80/ReportServer | 厳密なワイルドカード、ポート 80、レポート サーバーの仮想ディレクトリ | レポート サーバーの仮想ディレクトリを指定するすべての要求をポート 80 で受信します。 レポート サーバー Web サービスは、http://<computername>/reportserver に対するすべての要求を受け取ります。 |
| レポート マネージャー | http://+:80/Reports | 厳密なワイルドカード、ポート 80、Reports という仮想ディレクトリ | reports という仮想ディレクトリを指定するすべての要求をポート 80 で受信します。 レポート マネージャーは、http://<computername>/reports に対するすべての要求を受け取ります。 |
| IIS | http://*:80/ | 弱いワイルドカード、ポート 80 | 別のアプリケーションが受信していないポート 80 の残りの要求を受信します。 |
IIS 6.0、7.0、8.0、8.5 での SQL Server 2014 および SQL Server 2005 Reporting Services のサイド バイ サイド展開
IIS と Reporting Services の間の相互運用性の問題は、IIS Web サイトに Reporting Services で使用されるものと同じ仮想ディレクトリ名がある場合に発生します。 たとえば、次のような構成を考えてみます。
ポート 80、仮想ディレクトリ名 "Reports" に割り当てられた IIS Web サイトが存在。
既定の構成にインストールされている SQL Server 2014 レポート サーバー インスタンス。URL 予約ではポート 80 も指定され、レポート マネージャー アプリケーションでは仮想ディレクトリ名にも "レポート" が使用されます。
この構成では、http://<computername>:80/レポートに送信される要求がレポート マネージャーによって受信されます。 IIS のレポート仮想ディレクトリを介してアクセスされるアプリケーションは、SQL Server 2014 レポート サーバー インスタンスのインストール後に要求を受信しなくなります。
古いバージョンと新しいバージョンの Reporting Services のサイド バイ サイド デプロイを実行している場合は、前述のルーティングの問題が発生する可能性があります。 これは、Reporting Services のすべてのバージョンで、レポート サーバーとレポート マネージャー アプリケーションの仮想ディレクトリ名として "ReportServer" と "Reports" が使用されるためです。これにより、IIS に "レポート" と "レポート サーバー" の仮想ディレクトリが存在する可能性が高くなります。
すべてのアプリケーションが確実に要求を受信できるようにするには、次のガイドラインに従います。
Reporting Services のインストールでは、Reporting Services と同じポート上の IIS Web サイトでまだ使用されていない仮想ディレクトリ名を使用します。 競合が発生した場合は、セットアップが完了した後に仮想ディレクトリを構成できるように、Reporting Services を "ファイルのみ" モードでインストールします (インストールウィザードではサーバー オプションを構成しません)。 構成に競合があることを示す 1 つは、System.IO.FileLoadException: プロセスが別のプロセスで使用されているため、ファイルにアクセスできないというエラー メッセージが表示されることです。 (HRESULT からの例外: 0x80070020)」というエラー メッセージが表示されます。
手動構成のインストールでは、構成する URL に既定の名前付け規則を採用します。 SQL Server 2014 Reporting Services (SSRS) を名前付きインスタンスとしてインストールする場合は、仮想ディレクトリの作成時にインスタンス名を含めます。
こちらもご覧ください
レポート サーバーの URL の構成 (SSRS 構成マネージャー)
URL の構成 (SSRS 構成マネージャー)
Reporting Services ネイティブ モードのレポート サーバーをインストールする