レポート サーバー データベース接続の構成 (レポート サーバーの構成マネージャー)

適用対象: SQL Server 2016 (13.x) Reporting Services 以降 Power BI Report Server

以前のバージョンの SQL Server Reporting Services (SSRS) に関するコンテンツについては、「SQL Server 2014 Reporting Services」をご覧ください。

レポート サーバーの各インスタンスには、サーバーの管理対象であるレポート、共有データ ソース、リソース、およびメタデータが保存された、レポート サーバー データベースへの接続が必要です。 既定の構成をインストールする場合、最初の接続はレポート サーバーのインストール中に作成することができます。 ほとんどの場合は、セットアップの完了後に、Reporting Services 構成ツールを使用して接続を構成します。 この接続は、いつでも変更して、アカウントの種類を変更したり資格情報をリセットしたりできます。 データベースを作成し、接続を構成する詳細な手順については、「ネイティブ モードのレポート サーバー データベースを作成する (レポート サーバーの構成マネージャー)」を参照してください。

レポート サーバー データベース接続を構成する必要があるのは、次の状況です。

  • レポート サーバーを初めて使用するために構成する。

  • 別のレポート サーバー データベースを使用するようにレポート サーバーを構成する。

  • データベース接続に使用するユーザー アカウントまたはパスワードを変更する。 データベース接続を更新する必要があるのは、アカウント情報が RSReportServer.config ファイルに保存されている場合だけです。 接続にサービス アカウントを使用している (資格情報タイプに Windows 統合セキュリティを使用する) 場合は、パスワードが保存されません。 この機能により、接続情報を更新する必要がなくなります。 アカウントの変更に関する詳細については、「レポート サーバー サービス アカウントの構成 (レポート サーバーの構成マネージャー)」を参照してください。

  • レポート サーバー スケールアウト配置を構成する。 スケールアウト配置を構成するには、レポート サーバー データベースへの複数の接続を作成する必要があります。 この複数段階に分かれた操作の実行方法の詳細については、「ネイティブ モード レポート サーバーのスケールアウト配置の構成 (レポート サーバーの構成マネージャー)」に関するページを参照してください。

Reporting Services によるデータベース エンジンへの接続方法

レポート サーバー データベースへのレポート サーバーのアクセスは、資格情報と接続情報によって異なります。 また、そのデータベースを使用するレポート サーバー インスタンスに対して有効な暗号化キーにも依存します。 機密データの保存や取得には、有効な暗号化キーが必要です。 暗号化キーは、最初にデータベースを構成したときに自動的に作成されます。 レポート サーバー サービス ID を変更する場合、キーの作成後にキーを更新する必要があります。 暗号化キーを使用した作業の詳細については、「暗号化キーの構成と管理 (レポート サーバーの構成マネージャー)」を参照してください。

レポート サーバー データベースは、レポート サーバーのみがアクセスする内部コンポーネントです。 レポート サーバー データベースに対して指定した資格情報および接続情報は、レポート サーバーによって排他的に使用されます。 レポートを要求するユーザーに、レポート サーバー データベースに対するデータベース権限やデータベース ログインは不要です。

Reporting Services では、System.Data.SqlClient を使用して、レポート サーバー データベースをホストするデータベース エンジンに接続します。 データベース エンジンのローカル インスタンスを使用する場合、レポート サーバーは共有メモリを使用して接続を確立します。 リモートのデータベース サーバーをレポート サーバー データベースとして使用する場合は、使用中のエディションに応じてリモート接続を有効にする必要が生じる場合があります。 Enterprise Edition を使用している場合は、TCP/IP でのリモート接続が既定で有効になっています。

インスタンスがリモート接続を受け入れることを確認するには、[スタート] ボタンを選択し、[すべてのプログラム] を選択し、[Microsoft SQL Server] を選択し、[構成ツール] を選択し、[SQL Server 構成マネージャー] を選択し、その後各サービスで TCP/IP プロトコルが有効になっていることを確認します。

リモート接続を有効にすると、クライアント プロトコルおよびサーバー プロトコルも有効になります。 プロトコルが有効になっていることを確認するには、[スタート] ボタンを選択し、[すべてのプログラム] を選択し、[Microsoft SQL Server] を選択し、[構成ツール] を選択し、[SQL Server 構成マネージャー] を選択し、[SQL Server ネットワークの構成] を選択し、その後 [MSSQLSERVER のプロトコル] を選択します。 詳細については、SQL Server で「サーバー ネットワーク プロトコルの有効化または無効化」を参照してください。

レポート サーバー データベース接続の定義

接続を構成するには、Reporting Services 構成マネージャー ツールまたは rsconfig コマンド ライン ユーティリティを使用する必要があります。 レポート サーバーには、次の接続情報が必要です。

  • レポート サーバー データベースをホストするデータベース エンジン インスタンスの名前。

  • レポート サーバー データベースの名前。 接続を初めて作成する場合、新しいレポート サーバー データベースを作成することも、既存のデータベースを選択することもできます。 詳細については、「レポート サーバー データベースの作成 (レポート サーバーの構成マネージャー)」を参照してください。

  • 資格情報の種類。 サービス アカウント、Windows ドメイン アカウント、または SQL Server データベース ログインを使用できます。

  • ユーザー名およびパスワード (Windows ドメイン アカウントまたは SQL Server ログインを使用した場合のみ必要です)。

使用する資格情報は、レポート サーバー データベースへのアクセス権が許可されている必要があります。 Reporting Services 構成ツールを使用する場合、この手順は自動的に実行されます。 データベースのアクセスに必要な権限の詳細については、この記事の「データベース権限」のセクションを参照してください。

データベースの接続情報を保存する

Reporting Services では、次の RSreportserver.config 設定に接続情報が格納され暗号化されています。 これらの設定の暗号化された値を作成するには、Reporting Services 構成ツールまたは rsconfig ユーティリティを使用する必要があります。

すべての値がどの種類の接続に対しても設定されるとは限りません。 既定値を使用して接続を構成する場合 (つまり、サービス アカウントを使用して接続する場合)、<LogonUser>、<LogonDomain>、<LogonCred> は次に示すとおり空になります。

<Dsn></Dsn>  
<ConnectionType></ConnectionType>  
<LogonUser></LogonUser>  
<LogonDomain></LogonDomain>  
<LogonCred></LogonCred>  

特定の Windows アカウントまたはデータベース ログインを使用する接続を構成する場合、続いてアカウントまたはログインを変更した場合に格納される値を更新することを忘れないでください。

資格情報タイプの選択

レポート サーバー データベースへの接続に使用できる資格情報には、3 つの種類があります。

  • レポート サーバー サービス アカウントを使用する Windows 統合セキュリティ。 レポート サーバーは単一のサービスとして実装されているため、サービスの実行に使用するアカウントのみにデータベース アクセスが必要になります。

  • Windows ユーザー アカウント。 レポート サーバーおよびレポート サーバー データベースが同じコンピューターにインストールされている場合、ローカル アカウントを使用できます。 それ以外の場合、ドメイン アカウントを使用する必要があります。

  • SQL Server サインイン。

Note

レポート サーバー データベースへの接続には、カスタム認証拡張機能を使用できません。 カスタム認証拡張機能は、レポート サーバーにプリンシパルを認証するためにのみ使用します。 レポート サーバー データベースへの接続や、レポートにコンテンツを提供する外部データ ソースへの接続に対しては、効力がありません。

データベース エンジンのインスタンスが Windows 認証用に構成されており、レポート サーバー コンピューターと同じドメインまたは信頼関係のあるドメインにある場合、Reporting Services 構成ツールで接続プロパティとして管理するサービス アカウントまたはドメイン ユーザー アカウントを使用するように接続を構成できます。 データベース サーバーが別のドメインにある場合、またはワークグループ セキュリティを使用している場合は、SQL Server データベース ログインを使用するように接続を構成する必要があります。 この場合、必ず接続を暗号化してください。

Note

Azure SQL Managed Instance を使用してレポート サーバー データベースをホストする場合、サポートされている資格情報の種類は SQL Server 認証だけです。 また、Managed Instance ではレポート サーバー インスタンスをホストできないことにご注意ください。

サービス アカウントと統合セキュリティの使用

Windows 統合セキュリティを使用すると、レポート サーバー サービス アカウント経由で接続できます。 レポート サーバー サービス アカウントには、レポート サーバー データベースへのログイン権限が与えられます。 Reporting Services を既定の構成でインストールした場合、資格情報タイプはセットアップにより選ばれた既定のものとなります。

サービス アカウントは信頼されたアカウントであり、レポート サーバー データベース接続の管理に対するメンテナンスが軽減されます。 サービス アカウントでは Windows 統合セキュリティを使用して接続を行うため、資格情報の格納は不要です。 ただし、後でサービス アカウントのパスワードまたは ID を変更する場合 (たとえば、ビルトイン アカウントからドメイン アカウントに切り替える場合など) は、必ず Reporting Services 構成ツールを使用して変更を行ってください。 このツールを使用すると、データベース権限が自動的に更新され、変更したアカウント情報が使用されるようになります。 詳細については、「レポート サーバー サービス アカウントの構成 (レポート サーバーの構成マネージャー)」を参照してください。

サービス アカウントを使用するようにデータベース接続を構成するとき、レポート サーバー データベースがリモート コンピューター上にある場合には、アカウントにネットワーク アクセス許可が必要になります。 レポート サーバー データベースが別のドメインつまりファイアウォールの背後にある場合や、ドメイン セキュリティではなくワークグループ セキュリティを使用している場合は、サービス アカウントを使用しないでください。 代わりに、SQL Server データベース ユーザー アカウントを使用します。

ドメイン ユーザー アカウントを使用する

レポート サーバー データベースへのレポート サーバー接続には、Windows ユーザー アカウントを指定できます。 ローカル アカウントまたはドメイン アカウントを使用する場合、パスワードまたはアカウントを変更するたびにレポート サーバー データベース接続を更新する必要があります。 接続を更新するには、必ず Reporting Services 構成ツールを使用してください。

SQL Server サインインを使用する

レポート サーバー データベースに接続する SQL Server ログインを 1 つだけ指定できます。 SQL Server 認証を使用しており、レポート サーバー データベースがリモート コンピューター上にある場合は、サーバー間のデータ転送をセキュリティで保護するために、IPSec を使用してください。 データベース ログインを使用する場合、パスワードまたはアカウントを変更するたびにレポート サーバー データベース接続を更新する必要があります。

データベース権限

レポート サーバー データベースへの接続に使用するアカウントには、次のロールが与えられます。

  • ReportServer データベースに対する public ロールおよび RSExecRole ロール。

  • master データベース、 msdbデータベース、および ReportServerTempDBデータベースに対する RSExecRole ロール。

Reporting Services 構成ツールを使用して接続を作成または変更するときには、これらの権限が自動的に与えられます。 rsconfig ユーティリティを使用しており、接続に別のアカウントを指定する場合は、その新しいアカウント用に SQL Server ログインを更新する必要があります。 Reporting Services 構成ツールでスクリプト ファイルを作成して、レポート サーバー用の SQL Server ログインを更新することもできます。

データベース名の確認

特定のレポート サーバー インスタンスで使用されているレポート サーバー データベースを確認するには、Reporting Services 構成ツールを使用します。 名前を確認するには、レポート サーバー インスタンスに接続して、[データベースのセットアップ] ページを開きます。

別のレポート サーバー データベースの使用、またはレポート サーバー データベースの移動

接続情報を変更することによって、レポート サーバー インスタンスで別のレポート サーバー データベースを使用するように構成できます。 データベースの切り替えが生じる一般的なケースとして、運用レポート サーバーを配置する場合があります。 テスト レポート サーバー データベースから運用レポート サーバー データベースへの切り替えは、運用サーバーの一般的な展開手順です。レポート サーバー データベースを別のコンピューターに移すこともできます。 詳細については、SQL Server の「Upgrade and Migrate Reporting Services」をご覧ください。

複数のレポート サーバーで同じレポート サーバー データベースを使用するように構成します。

複数のレポート サーバーで同じレポート サーバー データベースを使用するように構成できます。 この配置構成はスケールアウト配置と呼ばれます。 サーバー クラスター内で複数のレポート サーバーを実行する場合は、この構成が前提条件となります。 ただし、サービス アプリケーションをセグメント化する場合は、この構成を使用することもできます。 また、それを使用して、新しいレポート サーバー インスタンスのインストールと設定をテストして、既存のレポート サーバーのインストールと比較することができます。 詳細については、ネイティブ モード レポート サーバーのスケールアウト配置の構成 (レポート サーバーの構成マネージャー) に関する記事を参照してください。

その他の質問 Reporting Services のフォーラムに質問してみてください