レポート サーバー データベースの管理

更新 : 2007 年 9 月 15 日

Reporting Services の環境では、2 つの SQL Server リレーショナル データベースが内部記憶域として使用されます。既定では、ReportServer と ReportServerTempdb という名前のデータベースです。ReportServerTempdb は、レポート サーバーのプライマリ データベースと共に作成され、一時データ、セッション情報、およびキャッシュされたレポートを格納するために使用されます。

Reporting Services でのデータベースの管理タスクには、レポート サーバー データベースのバックアップと復元、および機密データの暗号化と暗号化解除に使用する暗号化キーの管理が含まれます。

レポート サーバー データベースを管理するために、SQL Server ではさまざまなツールを用意しています。

  • レポート サーバー データベースのバックアップや復元、移動、または復旧を行うには、SQL Server Management Studio、Transact-SQL コマンド、またはデータベース コマンド プロンプト ユーティリティを使用します。手順については、SQL Server Books Online の「別のコンピュータへのレポート サーバー データベースの移動」を参照してください。
  • 既存のデータベース コンテンツを他のレポート サーバー データベースにコピーする場合、レポート サーバー データベースのコピーをアタッチして、別のレポート サーバー インスタンスで使用します。また、SOAP 呼び出しを使用して新しいデータベースにレポート サーバー コンテンツを再作成するスクリプトを作成して、実行することもできます。スクリプトを実行するには、rs ユーティリティを使用します。
  • レポート サーバーとレポート サーバー データベースの接続の管理、および特定のレポート サーバー インスタンスで使用しているデータベースの検索を行うには、Reporting Services 構成ツールの [データベースのセットアップ] ページを使用します。レポート サーバー データベースへのレポート サーバーの接続の詳細については、「レポート サーバー データベース接続の構成」を参照してください。
  • レポート サーバーのパフォーマンスと利用状況に関するデータの収集については、SQL Server Books Online の「レポート実行ログ データのクエリ実行とレポート作成」を参照してください。

SQL Server のログインとデータベースの権限

レポート サーバー データベースは、レポート サーバーによって内部的に使用されます。データベースへの接続は、レポート サーバー Web サービスおよびレポート サーバー Windows サービスによって行われます。

接続を指定するには、Reporting Services 構成ツールを使用します。サービス アカウントの資格情報、ドメイン ユーザー アカウントの資格情報、または SQL Server ログインを使用できます。接続に使用するアカウントには SQL Server に対するログイン権限に加え、レポート サーバー データベースに対する Public ロールと RSExecRole ロールが必要です。

Reporting Services 構成ツールを使用してデータベース接続を構成するとき、レポート サーバー データベースをアップグレードするとき、またはデータベースをホストする SQL Server インスタンスで同等のスクリプトを実行するときに、ログインと権限が自動的に作成されます。

RSExecRole には、データベース テーブルにアクセスする権限やストアド プロシージャを実行する権限が割り当てられています。レポート サーバー データベースを作成すると、RSExecRole が master および msdb に作成されます。SQL Server 2005 Service Pack 1 以降では、RSExecRole は、レポート サーバー データベースの db_owner ロールのメンバです。この追加の権限により、バージョンアップの際に、レポート サーバーがスキーマを自動的に更新できるようになったため、より効率的なアップグレード プロセスが可能になりました。

RSExecRole の使用されていないアカウントの削除

レポート サーバー Web サービスまたはレポート サーバー Windows サービスを、別のアカウントで実行するように構成すると、新しいアカウントが自動的に RSExecRole に追加されます。ただし、以前に追加されたアカウントや現在は使用されなくなったアカウントは手動で削除する必要があります。アカウントを削除するには、Management Studio で次の操作を行います。

  1. レポート サーバー データベースをホストするデータベース エンジン インスタンスに接続します。
  2. [データベース][ReportServer][セキュリティ][ロール][データベース ロール] の順に展開し、[RSExecRole] をダブルクリックします。
  3. 現在使用されていないアカウントを選択します。
  4. [削除] をクリックします。

レポート サーバー データベースの名前付け規則

プライマリ データベースを作成する際、データベースの名前は、「識別子」に指定されている規則に従う必要があります。一時データベースには、レポート サーバーのプライマリ データベース名に、Tempdb というサフィックスを追加した名前を使用します。一時データベースに別の名前を選択することはできません。

レポート サーバーのデータベースは内部コンポーネントと見なされているため、レポート サーバー データベースの名前変更はサポートされません。レポート サーバーのデータベース名を変更するとエラーが発生します。具体的には、プライマリ データベースの名前を変更すると、データベース名が同期されていないという内容のエラー メッセージが表示されます。ReportServerTempdb データベースの名前を変更すると、レポートの実行時に次の内部エラーが発生します。

"レポート サーバーで内部エラーが発生しました。詳細については、エラー ログを参照してください。(rsInternalError)

オブジェクト名 'ReportServerTempDB.dbo.PersistedStream' が無効です。"

ReportServerTempdb の名前は内部的に保存され、ストアド プロシージャが内部的な操作を実行するときに使用されるため、このエラーが発生します。一時データベースの名前を変更すると、ストアド プロシージャが正しく機能しなくなります。

データベースのバージョンについて

Reporting Services では、データベースのバージョンについて明確な情報を入手できません。ただし、データベースのバージョンは常に製品のバージョンと同期しているので、製品バージョンの情報からデータベースのバージョンが変更された時期がわかります。Reporting Services の製品バージョンの情報は、ログ ファイル上のファイルのバージョン情報、すべての SOAP 呼び出しのヘッダー、およびレポート サーバーの URL に接続したとき (ブラウザを開いて https://localhost/reportserver を参照したときなど) に示されます。

レポート サーバー データベースでのスナップショット分離の有効化

レポート サーバー データベースでスナップショット分離を有効にすることはできません。スナップショット分離を有効にした場合、"選択したレポートは、表示できる状態ではありません。レポートが表示の準備中か、またはレポート スナップショットが利用できません。" というエラーが表示されます。

意図的に有効になくても、スナップショット分離の属性が別のアプリケーションによって設定されたり、model データベースのスナップショット分離が有効になっているために、新しいデータベースがすべてその設定を継承している可能性もあります。

レポート サーバー データベースのスナップショット分離を無効にするには、Management Studio を開いて、新しいクエリ ウィンドウを開き、次のスクリプトを貼り付けて実行します。

ALTER DATABASE ReportServer
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServerTempdb
SET ALLOW_SNAPSHOT_ISOLATION OFF
ALTER DATABASE ReportServer
SET READ_COMMITTED_SNAPSHOT OFF
ALTER DATABASE ReportServerTempDb
SET READ_COMMITTED_SNAPSHOT OFF

参照

概念

レポート サーバー データベースの作成
Reporting Services インストールのバックアップおよび復元操作
レポート サーバー データベース
Reporting Services の管理
レポート サーバー データベースの必要条件
暗号化されたレポート サーバー データの格納
暗号化キーの管理

その他の技術情報

Reporting Services の配置

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2007 年 9 月 15 日

新しい内容 :
  • レポート サーバー データベースでのスナップショット分離の有効化に関する情報を追加しました。

2006 年 12 月 12 日

新しい内容 :
  • RSExecRole の使用されていないアカウントの削除

2006 年 4 月 14 日

新しい内容 :
  • レポート サーバー データベースの名前付け規則とバージョン情報