RSExecRole を作成する
Reporting Servicesは、 というRSExecRole
定義済みのデータベース ロールを使用して、レポート サーバー データベースにレポート サーバーのアクセス許可を付与します。 ロールは RSExecRole
、レポート サーバー データベースと共に自動的に作成されます。 原則として、このロールを変更したり、他のユーザーをこのロールに割り当てたりすることはできません。 ただし、レポート サーバー データベースを新しいデータベース エンジンまたは別のSQL Serverデータベース エンジンに移動する場合は、Master および MSDB システム データベースでロールを再作成する必要があります。
ここで説明する手順に従って、次の操作を実行します。
master システム データベースでの
RSExecRole
の作成と準備MSDB システム データベースでの
RSExecRole
の作成と準備
Note
ここで説明する手順は、レポート サーバー データベースを準備する方法としてスクリプトの実行や WMI コードの作成を考えていないユーザーを対象としています。 大規模な配置を管理していて、データベースを定期的に移動する予定がある場合は、上記の操作を自動的に実行するスクリプトを作成する必要があります。 詳細については、「 Reporting Service WMI プロバイダーへのアクセス」を参照してください。
開始する前に
データベースを移動した後に復元できるように、暗号化キーをバックアップします。 この手順は
RSExecRole
の作成と準備には直接影響しませんが、作業を確認するためにはキーのバックアップが必要です。 詳細については、「 Back Up and Restore Reporting Services Encryption Keys」を参照してください。SQL Server インスタンスに対するアクセス許可を持つ
sysadmin
ユーザー アカウントとしてログオンしていることを確認します。使用する予定のデータベース エンジン インスタンスに SQL Server エージェント サービスがインストールされ、実行されていることを確認します。
reportservertempdb および reportserver データベースをアタッチします。 実際のロールを作成するためにデータベースをアタッチする必要はありませんが、作業を確認する場合は事前にデータベースをアタッチする必要があります。
RSExecRole
を手動で作成する手順は、レポート サーバー インストールの移行というコンテキストで使用されることを目的としています。 レポート サーバー データベースのバックアップや移動などの重要なタスクは、このトピックでは取り上げませんが、データベース エンジンのドキュメントで説明されています。
master での RSExecRole の作成
Reporting Services では、SQL Server エージェント サービスの拡張ストアド プロシージャを使用して、スケジュールされた操作をサポートします。 次の手順では、プロシージャの実行権限を RSExecRole
ロールに付与する方法について説明します。
Management Studio を使用して master システム データベースに RSExecRole を作成するには
SQL Server Management Studio を開始し、レポート サーバー データベースをホストしているデータベース エンジン インスタンスに接続します。
[データベース]を開きます。
[システム データベース]を開きます。
Master
を開きます。[セキュリティ]を開きます。
[ロール]を開きます。
[データベース ロール]を右クリックして [新しいデータベース ロール]をクリックします。 [全般] ページが表示されます。
[ ロール名] に「」と入力します
RSExecRole
。[ 所有者] に「 DBO」と入力します。
[セキュリティ保護可能なリソース]をクリックします。
[検索] をクリックします。 [オブジェクトの追加] ダイアログ ボックスが表示されます。 既定では、 [特定のオブジェクト] オプションが選択されています。
[OK] をクリックします。 [オブジェクトの選択] ダイアログ ボックスが表示されます。
[オブジェクトの種類]をクリックします。
[拡張ストアド プロシージャ]をクリックします。
[OK] をクリックします。
[参照] をクリックします。
拡張ストアド プロシージャの一覧を下にスクロールし、以下を選択します。
xp_sqlagent_enum_jobs
xp_sqlagent_is_starting
xp_sqlagent_notify
[OK]をクリックし、もう一度 [OK] をクリックします。
[実行] 行の [許可] 列で、チェック ボックスをオンにし、 [OK]をクリックします。
残りの各ストアド プロシージャに同じ操作を繰り返します。
RSExecRole
には、3 つのストアド プロシージャすべてに対する実行権限を付与する必要があります。
MSDB での RSExecRole の作成
Reporting Services は、スケジュールされた操作をサポートするために、SQL Server エージェント サービスのストアド プロシージャを使用し、システム テーブルからジョブ情報を取得します。 次の手順では、プロシージャに対する実行権限およびテーブルでの選択権限を RSExecRole に付与する方法を説明します。
MSDB システム データベースで RSExecRole を作成するには
MSDB のストアド プロシージャとテーブルに対する権限を付与する場合は、同様の手順を繰り返します。 手順を簡素化するために、ストアド プロシージャとテーブルを別々に準備します。
MSDB
を開きます。[セキュリティ]を開きます。
[ロール]を開きます。
[データベース ロール]を右クリックして [新しいデータベース ロール]をクリックします。 [全般] ページが表示されます。
[ロール名] に「」と入力します
RSExecRole
。[所有者] に「 DBO」と入力します。
[セキュリティ保護可能なリソース]をクリックします。
[追加] をクリックします。 [オブジェクトの追加] ダイアログ ボックスが表示されます。 [オブジェクトの指定] オプションが既定で選択されます。
[OK] をクリックします。
[オブジェクトの種類]をクリックします。
[ストアド プロシージャ]をクリックします。
[OK] をクリックします。
[参照] をクリックします。
項目の一覧を下にスクロールし、以下を選択します。
sp_add_category
sp_add_job
sp_add_jobschedule
sp_add_jobserver
sp_add_jobstep
sp_delete_job
sp_help_category
sp_help_job
sp_help_jobschedule
sp_verify_job_identifiers
[OK]をクリックし、もう一度 [OK] をクリックします。
最初のストアド プロシージャ sp_add_category を選択します。
[実行] 行の [許可] 列で、チェック ボックスをオンにし、 [OK]をクリックします。
残りの各ストアド プロシージャに同じ操作を繰り返します。 RSExecRole には、10 個のストアド プロシージャすべてに対する実行権限を付与する必要があります。
[セキュリティ保護可能なリソース] タブで、もう一度 [追加] をクリックします。 [オブジェクトの追加] ダイアログ ボックスが表示されます。 [オブジェクトの指定] オプションが既定で選択されます。
[OK] をクリックします。
[オブジェクトの種類]をクリックします。
[テーブル]をクリックします。
[OK] をクリックします。
[参照] をクリックします。
項目の一覧を下にスクロールし、以下を選択します。
syscategories
sysjobs
[OK]をクリックし、もう一度 [OK] をクリックします。
最初のテーブル syscategories を選択します。
[選択] 行の [許可] 列で、チェック ボックスをオンにし、 [OK]をクリックします。
sysjobs テーブルに同じ操作を繰り返します。 RSExecRole には、両方のテーブルに対する選択権限を付与する必要があります。
レポート サーバー データベースの移動
ロールを作成したら、レポート サーバー データベースを新しい SQL Server インスタンスに移動できます。 詳細については、「別のコンピューターへのレポート サーバー データベースの移動 (SSRS ネイティブ モード)」を参照してください。
データベース エンジンを SQL Server 2019 (15.x) にアップグレードする場合は、データベースの移動前または移動後にアップグレードできます。
レポート サーバー データベースは、レポート サーバーが接続すると、自動的に SQL Server 2019 (15.x) にアップグレードされます。 データベースをアップグレードするために特定の手順を実行する必要はありません。
暗号化キーの復元と作業の確認
レポート サーバー データベースをアタッチしたら、次の手順を実行して作業を確認します。
データベース移動後にレポート サーバーの運用性を確認するには
Reporting Services 構成ツールを起動して、レポート サーバーに接続します。
[データベース]をクリックします。
[データベースの変更] をクリックします。
[既存のレポート サーバー データベースを選択する]をクリックします。
データベース エンジンのサーバー名を入力します。 レポート サーバー データベースを名前付きインスタンスにアタッチした場合は、<サーバー名>\<インスタンス名> の形式でインスタンス名を入力する必要があります。
[接続テスト] をクリックします。
[次へ] をクリックします。
[データベース] で、レポート サーバー データベースを選択します。
[次へ] をクリックして、ウィザードを完了します。
[暗号化キー]をクリックします。
[復元] をクリックします。
レポート サーバー データベースに格納されている資格情報および接続情報の暗号化を解除するために使用される対称キーのバックアップ コピーが含まれている厳密な名前のキー ファイル (.snk) を選択します。
パスワードを入力し、 [OK]をクリックします。
[レポート マネージャー URL]をクリックします。
レポート マネージャーを開くリンクをクリックします。 レポート サーバー データベースのレポート サーバー アイテムが表示されます。
参照
レポート サーバー データベースを別のコンピューターに移動する (SSRS ネイティブ モード)Reporting Services Configuration Manager (ネイティブ モード)ネイティブモードのレポート サーバー データベースを作成する (SSRS Configuration Manager)バックアップと復元Reporting Services暗号化キー