SharePoint データベースへのレポート サーバー コンテンツの格納と同期

SharePoint 統合モードで動作するようにレポート サーバーを構成すると、レポート サーバーはコンテンツやメタデータの格納に、自身の内部データベースだけでなく、SharePoint の構成データベースとコンテンツ データベースも使用するようになります。

Reporting Services および SharePoint はどちらも分散サーバー アプリケーションで、これらを使用すると別々のコンピューターでサービスや内部データベースを実行できます。各サーバーには異なる種類のデータが格納され、複数の SQL Server リレーショナル データベースが両方のサーバーの内部記憶域となります。各サーバーにどのような種類のデータが格納されているかを知っておくと、サーバーがどのように連携するかを理解するのに役立ちます。また、ディスク領域の割り当て方法やデータベース バックアップのスケジュール方法を決定する場合の参考にもなります。

次の図は、SharePoint 統合モードで動作するレポート サーバー データベースで使用される全データベースを示しています。

データベース ダイアグラム

SharePoint 構成データベース

SharePoint Web アプリケーションにはそれぞれに、アプリケーションの設定を格納する構成データベースがあります。レポート サーバーと連携するように SharePoint Foundation 2010 または SharePoint Server 2010 のインスタンスを設定するときには、SharePoint のサーバー管理で構成設定を指定します。指定した設定はこのデータベースに格納されます。格納される設定には、レポート サーバーの URL、レポート サーバー サービスのアカウント情報、サーバーで使用される認証プロバイダーの情報、レポート履歴やログ記録を制限または有効化するサイトレベルの設定などがあります。詳細については、「SharePoint 2010 統合用の Reporting Services の構成」を参照してください。

SharePoint コンテンツ データベース

各 SharePoint Web アプリケーションには、ドキュメントとプロパティを格納する 1 つ以上のコンテンツ データベースがあります。これらのドキュメントとプロパティは、サーバー経由でアクセスおよび管理します。SharePoint 統合モード用に構成されているレポート サーバーの場合、SharePoint コンテンツ データベースはパブリッシュされたレポート、レポート モデル、共有データ ソース、リソース、プロパティ、および権限の 1 次記憶域となります。

レポート サーバー データベースとレポート サーバー一時データベース

各レポート サーバー インスタンスまたはスケールアウト配置では、永続データの格納に 1 つのレポート サーバー データベースが使用されます。一時データはセカンダリ データベースに分離されます。このため、さまざまなバックアップ スケジュールを作成して、それぞれに異なる拡張プロパティを設定できます。各レポート サーバー データベースには 1 つの一時データベースがあり、セッション データと一時スナップショットが格納されます。これらのスナップショットはサブスクリプション処理、対話型のレポート、またはレポート キャッシュ用にのみ、パフォーマンス向上のために作成されるものです。

レポート サーバー データベースで保持されるデータとしては、スケジュール、サブスクリプション、レポート履歴またはレポート実行のスナップショットなどがあります。また、SharePoint コンテンツ データベースに格納されているコンテンツ ファイルの内部コピーも保持されます。レポート サーバー データベースに内部コピーを格納しておくと、処理のためファイルをレポート サーバーに送信する回数が最小限に抑えられるため、パフォーマンスが向上します。同期と照合チェックによって、レポート、モデル、データ ソースが同じであるかどうかが確認されます。

重要な注意事項重要

レポート サーバー データベースは、ネイティブ モード動作または SharePoint 統合モードをサポートすることができますが、両方をサポートすることはできません。SharePoint 統合モードをサポートするレポート サーバー データベースを作成すると、後からそのデータベースをネイティブ モードのレポート サーバー インスタンスと連携するように変換または移行することはできなくなります。レポート サーバー データベースにはモード固有のメタデータ (アイテムの位置や権限情報) が含まれ、これは他のモードと互換性がありません。

データベース接続、権限、ログイン

レポート サーバー、あるいは Windows SharePoint Services または Office SharePoint Server のインスタンスを構成するユーザーは、コンピューターのローカル管理者またはビルトイン Administrators グループのメンバーである必要があります。

レポート サーバー サービスでは、SharePoint コンテンツ データベースへのデータベース接続が必要ですが、構成データベースへの接続は必要ありません。レポート サーバーの統合設定は、Windows SharePoint Services のインストール時にサーバー管理ツールのユーザー用に作成されたログインと権限を使用して、構成データベースに格納されます。

一方、レポート サーバー サービスでは、SharePoint コンテンツ データベース内のアイテムとプロパティの作成、更新、削除が行われます。接続情報、ログイン、データベースの権限は、サーバー管理で信頼されたアカウントを指定したときに構成されます。

Windows SharePoint Services または Office SharePoint Server のインスタンスによって、レポート サーバー データベースに対しデータの追加や取得が行われることはありません。すべての要求は直接レポート サーバーに送られます。要求を受け取ったレポート サーバーは、自身の接続設定値を使用してレポート サーバー データベースにアクセスします。

レポート サーバー上でアイテムを表示したり操作を実行するための権限は、Windows SharePoint Services または Office SharePoint Server のインスタンスによって管理されます。要求がレポート サーバーに送信される前には、認証チェックとセキュリティ チェックが実行されます。各要求には権限情報を含むセキュリティ トークンが付けられており、それを基に要求を処理するか拒否するかが決定されます。

データベースのメンテナンス

レポート サーバーでは日常的なメンテナンスによって、SharePoint サイトで削除されレポート サーバー データベースだけに残ったレポート スナップショット、レポート履歴、スケジュール、およびサブスクリプションが削除されます。SharePoint コンテンツ データベースにおいて、親アイテムとの関連付けを失ったアイテムを孤立したアイテムといいます。

レポート サーバーでは 1 日 1 回、レポート サーバー データベースに格納されているアイテムが SharePoint コンテンツ データベースに存在するレポートに関連付けられているかどうかが確認されます。クリーンアップ プロセスの頻度を変更するには、RSReportServer.config ファイルに DailyCleanupMinuteofDay の構成設定を追加します。クリーンアップ プロセスは、構成ファイルに定義されているスケジュール情報に従いバックグラウンドで実行されます。ユーザーが要求時ベースでプロセスを実行することはできません。

Windows SharePoint Services または Office SharePoint Server のインスタンスを使用できない場合 (サーバーがオフラインの場合など) は、クリーンアップ操作は実行されません。現在 SharePoint データベースに格納されているアイテムに対応していない古いデータを含むレポート サーバー データベースを復元すると、アイテムは次のクリーンアップ プロセスの実行時に削除されます。

クリーンアップ プロセスではコンテンツが削除されるだけで、SharePoint コンテンツ データベースに格納されているレポート サーバー アイテムの同期や更新は行われません。既定では、クリーンアップ プロセスは毎日午前 2 時に実行されます。

別の時間を指定するには、RSReportServer.config ファイルに DailyCleanupMinuteofDay を追加して別の値を設定する必要があります。たとえば、次のように設定します。

<Add Key=" DailyCleanupMinuteOfDay " Value="120" />

この設定は、既定では RSReportServer.config ファイルにありません。この設定を追加するにはエントリをコピーし、Configuration 要素の下に、セクションの他の Add 要素と共に指定します。値は分で指定し、午前 12 時を基点として最小値が 30、最大値が 1380 (23 時間) です。

同期と検証の処理

レポート サーバーに内部処理用として保存されているコピーが、SharePoint ライブラリ内の元のアイテムと同じであることを確認するため、レポート サーバーでは要求の処理前に、同期とアイテム検証の手順が実行されます。

同期とは、レポート サーバー データベースに格納されているアイテムの内部コピーを作成、更新、または削除する処理です。レポート サーバーは、SharePoint ライブラリからアイテムとプロパティを取得してレポート サーバー データベースに格納します。タイムスタンプ情報が比較の基準となります。タイムスタンプは UTC 形式で格納され、レポート サーバーと SharePoint サイトまたはファームのタイム ゾーンが異なる場合、タイムスタンプは格納時にローカルのサーバー時間に変換されます。

検証とは、同期が必要かどうかを判断する手順です。元のアイテムと内部コピーのタイムスタンプが同じ場合、同期は行われません。

アイテムの同期方法

同期はレポート サーバーによって行われます。これはバックグラウンドの処理で、アイテムが作成、更新、または取得されると常に、自動的に行われます。ユーザーが同期処理を管理したり、構成したり、明示的に制御することはできません。同期の対象範囲は、アイテムの作成または更新に対する特定の要求になります。すべてのアイテムとプロパティを同時に同期するような、グローバルな同期処理はありません。レポート、レポート モデル、または共有データ ソースを手動で同期するには、実行する必要があります。

アイテムがレポート サーバー データベースに存在しないか、レポート サーバー データベースのアイテムが SharePoint ライブラリ内の対応するアイテムより古い場合は、アイテムの内部コピーの作成または更新が行われます。内部コピーは、次のイベントに応答して作成されます。

  • レポートまたはレポート モデルに対する要求。この要求によって、レポート、レポート モデル、いずれかのアイテムで参照されている共有データ ソースの内部コピーが作成されます。

  • レポート デザイナーまたはモデル デザイナーから SharePoint ライブラリへの、レポートまたはレポート モデルのパブリッシュ。SharePoint コンテンツ データベースにアイテムが追加された後、レポートまたはモデルのコピーが作成され、レポート サーバー データベースに追加されます。レポート モデルと一緒に共有データ ソースもパブリッシュした場合、共有データ ソースの内部コピーは共有データ ソースが使用されると作成されます。

SharePoint サイトで [アップロード] アクションを使用すると、レポート サーバー データベースでの内部コピーの作成に遅延が生じます。アップロードするすべてのレポート サーバー アイテムは、アイテムの要求時に内部コピーが作成されます。

レポートで使用されている外部画像ファイルや、レポート サーバー データベースに排他的に格納されているスケジュール、スナップショット、サブスクリプションについては、内部コピーは作成されません。

構成設定と権限について

構成設定は両方のサーバーで正しく定義する必要がありますが、これらは同期処理の対象外となります。レポート サーバーのサービス アカウント、URL、認証の種類、またはレポート サーバーのサーバー実行モードを変更し、SharePoint 統合モードではなくネイティブ モードで動作するように指定する場合は、SharePoint のサーバー管理または Reporting Services 構成ツールでサーバー構成設定を明示的に更新する必要があります。

SharePoint サイトまたはファームに設定されている権限はレポート サーバーによって使用されます。SharePoint サイトまたはファームとレポート サーバーの間で権限は同期されません。

サーバー可用性と同期の失敗

アイテム、プロパティ、操作を同期するには、配置を構成するすべてのコンピューターと接続が利用可能で動作していることが必要となります。次の状況に当てはまるとき、同期は行われません。

  • サーバーまたはバックエンドのデータベースがオフラインであるか、利用できない。

  • いずれかのサーバーまたはバックエンドのデータベースで、接続情報が無効になっている。たとえば、URL を間違って変更した場合や、サービス アカウントまたはパスワードを変更した場合など。

  • 最初にサーバーをオフラインにしないで接続情報を変更したため、同期処理のタイミングや流れが妨げられた。

サーバーから他のサーバーやバックエンドのデータベースに接続できないため同期を実行できない場合は、接続が回復して特定のレポート、レポート モデル、共有データ ソース、サブスクリプションが要求されたときに、レポート サーバーで同期されていないコンテンツやメタデータが調整されます。

同期が失敗すると rsItemNotFound エラーが発生します。これは、アイテムが SharePoint ライブラリに見つからなかったことを表します。