別のコンピューターへのレポート サーバー データベースの移動
現在の環境で使用しているレポート サーバー データベースは、別のコンピューター上の SQL Serverデータベース エンジン インスタンスに移動できます。reportserver と reportservertempdb データベースは、一緒に移動またはコピーする必要があります。Reporting Services の使用環境には、両方のデータベースが必要です。reportservertempdb データベースは、移動する reportserver プライマリ データベースに名前を関連付ける必要があります。
データベースの移動は、レポート サーバー アイテムに現在定義されているスケジュールされた操作には影響しません。
レポート サーバー サービスを初めて再起動したときに、スケジュールが再作成されます。
スケジュールを開始する際に使用される SQL Server エージェント ジョブは、新しいデータベース インスタンスで再作成されます。このジョブを新しいコンピューターに移動する必要はありませんが、そのコンピューターで今後使用しないジョブは削除することをお勧めします。
サブスクリプション、キャッシュされたレポート、およびスナップショットは、移動したデータベースに保持されます。データベースの移動後にスナップショットが更新されたデータを取得していない場合は、レポート マネージャーでスナップショット オプションを解除し、[適用] をクリックして変更を保存します。次に、スケジュールを再作成し、もう一度 [適用] をクリックして変更を保存します。
reportservertempdb に格納される一時的なレポートとユーザー セッション データは、データベースを移動しても保持されます。
SQL Server には、バックアップと復元、アタッチとデタッチ、コピーなど、データベースを移動するための方法がいくつかあります。ただし、既存のデータベースを新しいサーバー インスタンスに再配置する場合に、これらすべての方法が適切とは限りません。レポート サーバー データベースを移動するために使用する方法は、システムの可用性要件によって異なります。レポート サーバー データベースを移動する最も簡単な方法は、レポート サーバー データベースをアタッチおよびデタッチすることです。ただし、この方法を使用する場合、データベースをデタッチするときにレポート サーバーをオフラインにする必要があります。サービスの中断を最小限に抑えるには、バックアップと復元が適しています。ただし、この操作を行うには、Transact-SQL コマンドを実行する必要があります。権限設定がデータベースに保持されないため、データベースをコピーすること (特に、データベース コピー ウィザードの使用) は推奨されていません。
重要 |
---|
このトピックの手順をお勧めできるのは、既存環境に対して行う変更が、レポート サーバー データベースの再配置のみの場合です。Reporting Services インストール全体を移行する場合 (データベースの移動と、データベースを使用するレポート サーバー Windows サービスの ID の変更を行う場合)、接続を再構成して、暗号化キーを再設定する必要があります。Reporting Services インストールの移行の詳細については、「移行 (Reporting Services)」を参照してください。 |
レポート サーバー データベースのデタッチとアタッチ
レポート サーバーをオフラインにすると、データベースをデタッチして、使用する SQL Server インスタンスにデータベースを移動できます。この方法では、権限がデータベースに保持されます。SQL Server 2008 データベースを使用している場合は、SQL Server 2008 の別のインスタンスにそのデータベースを移動する必要があります。データを移動した後、レポート サーバーがそのレポート サーバー データベースに接続されるように再構成する必要があります。スケールアウト配置を実行している場合は、各レポート サーバーについて、レポート サーバー データベースの接続を再構成する必要があります。
次の手順に従ってデータベースを移動します。
移動するレポート サーバー データベースの暗号化キーをバックアップします。キーは Reporting Services 構成ツールを使用してバックアップできます。
レポート サーバー サービスを停止します。サービスは Reporting Services 構成ツールを使用して停止できます。
SQL ServerManagement Studio を起動し、レポート サーバー データベースをホストしている SQL Server インスタンスへの接続を開きます。
レポート サーバー データベースを右クリックし、[タスク] をポイントして [デタッチ] をクリックします。レポート サーバーの一時データベースに対しても、この手順を行います。
使用する SQL Server インスタンスのデータ フォルダーに .mdf ファイルおよび .ldf ファイルをコピーまたは移動します。2 つのデータベースを移動するので、4 つのファイルがすべて移動またはコピーされていることを確認してください。
Management Studio で、レポート サーバー データベースを新しくホストする SQL Server インスタンスへの接続を開きます。
[データベース] ノードを右クリックし、[アタッチ] をクリックします。
[追加] をクリックして、アタッチするレポート サーバー データベースの .mdf ファイルおよび .ldf ファイルを選択します。レポート サーバーの一時データベースに対しても、この手順を行います。
データベースをアタッチした後、レポート サーバー データベースおよび一時データベースのデータベース ロールが RSExecRole であることを確認します。RSExecRole には、レポート サーバー データベースのテーブルの選択、挿入、更新、削除、および参照を行う権限とストアド プロシージャの実行権限が必要です。詳細については、「RSExecRole を作成する方法」を参照してください。
Reporting Services 構成ツールを起動して、レポート サーバーに接続します。
[データベース] ページで新しい SQL Server インスタンスを選択し、[接続] をクリックします。
移動したレポート サーバー データベースを選択し、[適用] をクリックします。
[暗号化キー] ページで、[復元] をクリックします。キーのバックアップ コピーが格納されているファイルとそのパスワードを指定し、ファイルのロックを解除します。
レポート サーバー サービスを再開します。
レポート サーバー データベースのバックアップと復元
レポート サーバーをオフラインにできない場合は、バックアップと復元を使用して、レポート サーバー データベースを再配置できます。"COPY_ONLY" オプションを使用する必要があります。SQL Server 2008 以降、SQL Server Management Studio では、コピーのみのバックアップがサポートされています。データベースを復元した後、新しいサーバー インスタンスのデータベースを使用できるように、レポート サーバーを構成する必要があります。詳細については、このトピックの最後にある手順を参照してください。
レポート サーバー データベースをバックアップする BACKUP および COPY_ONLY の使用
データベースをバックアップする場合、COPY_ONLY オプションを設定します。また、バックアップの種類は [完全] に設定します。
注意 |
---|
ReportServer データベースと ReportServerTempDB データベース、および関連するログ ファイルは必ずバックアップしてください。 |
SQL Server Management Studio を使用したデータベースのバックアップの詳細については、「データベースをバックアップする方法 (SQL Server Management Studio)」を参照してください。
レポート サーバー データベースを再配置する RESTORE および MOVE の使用
データベースを復元するとき、引数 RESTORE WITH NORECOVERY を使用して最初の復元を実行できます。これにより、データベースが復元状態のままになり、ログのバックアップを確認してどのデータベースを復元するかを決定する時間ができます。その後、RESTORE 操作を繰り返しますが、今度は引数 RESTORE WITH RECOVERY を使用します。
注意 |
---|
ReportServer データベースと ReportServerTempDB データベース、および関連するログ ファイルは必ず復元してください。 |
SQL ServerManagement Studio を使用したデータベースの復元の詳細については、「データベースのバックアップを復元する方法 (SQL Server Management Studio)」を参照してください。
レポート サーバー データベースの接続を構成する方法
Reporting Services 構成ツールを起動して、レポート サーバーに接続します。
[データベース] ページの [データベースの変更] をクリックします。[次へ] をクリックします。
[既存のレポート サーバー データベースを選択する] をクリックします。[次へ] をクリックします。
現在レポート サーバー データベースをホストしている SQL Server を選択し、[接続テスト] をクリックします。[次へ] をクリックします。
[データベース名] で、使用するレポート サーバー データベースを選択します。[次へ] をクリックします。
レポート サーバーがレポート サーバー データベースに接続するときに使用する資格情報を [資格情報] に指定します。[次へ] をクリックします。
[次へ] をクリックし、[完了] をクリックします。
注意 |
---|
Reporting Services のインストールでは、SQL Server データベース エンジン インスタンスに RSExecRole ロールが含まれている必要があります。ロールの作成、ログインの登録、およびロールの割り当ては、Reporting Services 構成ツールでレポート サーバー データベースの接続を設定する際に行います。別の方法 (特に、rsconfig.exe コマンド プロンプト ユーティリティを使用する場合) で接続を構成する場合は、レポート サーバーが非動作状態になります。場合によっては、レポート サーバーを利用可能な状態にするための WMI コードを作成する必要があります。詳細については、「Reporting Services WMI プロバイダ」を参照してください。 |