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

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

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

この記事では、SQL Server レポート サーバー データベース接続と、その動作に関する重要な情報について説明します。 この情報には、接続を構成する方法と、構成中に留意すべき考慮事項が含まれます。

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

レポート サーバー データベース接続を構成する時期

次の状況でレポート サーバー データベース接続を構成します。

  • 初回構成: レポート サーバーを初めて使用する場合。
  • データベースの変更: レポート サーバーで別のレポート サーバー データベースを使用する必要がある場合。
  • アカウントの変更: データベース接続変更に使用するユーザー アカウントまたはパスワードを変更する時期。

    Note

    アカウント情報が RSReportServer.config ファイルに格納されているときに接続を更新します。 接続に Windows 統合セキュリティを使用するサービス アカウントを使用する場合は、パスワードが保存されません。 アカウントの変更に関する詳細については、「レポート サーバー サービス アカウントの構成 (レポート サーバーの構成マネージャー)」を参照してください。

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

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

レポート サーバー データベースへのレポート サーバーのアクセスは、次の条件に依存します。

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

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

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

インスタンスがリモート接続を受け入れることを確認するには、SQL Server 構成マネージャーを開き、サービスごとに TCP/IP プロトコルが有効になっていることを確認します。 リモート接続を有効にすると、必要なクライアントとサーバーのプロトコルもアクティブ化されます。 これらのプロトコルが有効になっていることを確認するには、SQL Server 構成マネージャーを開き、左側のウィンドウで SQL Server Network Configuration に移動し、MSSQLSERVER の Protocols を選択。 詳細については、SQL Server で「サーバー ネットワーク プロトコルの有効化または無効化」を参照してください。

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

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

  • データベース エンジン インスタンス名: レポート サーバー データベースをホストするデータベース エンジン インスタンスの名前。
  • レポート サーバー データベース名: 接続を初めて作成する場合、新しいレポート サーバー データベースを作成することも、既存のデータベースを選択することもできます。 詳細については、「レポート サーバー データベースの作成」の「レポート サーバー構成マネージャー」を参照してください。
  • 資格情報タイプ: サービス アカウント、Windows ドメイン アカウント、または SQL Server データベース ログイン資格情報を使用できます。
  • ユーザー名およびパスワード: Windows ドメイン アカウントまたは SQL Server ログイン資格情報を使用した場合のみ必要です。

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

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

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 サインイン資格情報: SQL Server サインイン資格情報を使用して、レポート サーバー データベースの認証と接続を行います。 このオプションは、データベース サーバーが別のドメインにある場合や、ドメイン セキュリティではなくワークグループ セキュリティを使用する場合に便利です。

Note

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

Note

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

レポート サーバー サービス アカウントを持つ Windows 統合セキュリティを使用します。

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

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

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

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

Windows ユーザーアカウントを使用します。

レポート サーバー データベースへのレポート サーバー接続には、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 フォーラムで質問してみてください。