PowerPivot System サービス

PowerPivot System サービスは、SharePoint 2010 ファームでの PowerPivot ブック アクセスとサーバー管理を可能にする PowerPivot for SharePoint の一機能です。このサービスは、他のサーバー コンポーネントと共に、PowerPivot データへのユーザー接続の確立、データの読み込みとアンロード、およびサーバーの状態の監視とレポートを行うための、中間層インフラストラクチャを形成します。

PowerPivot System サービスは、SharePoint 統合モードで実行される Analysis Services インスタンスと共にインストールされる Web サービスです。この 2 つのサービスは緊密に連携し、ファーム内で PowerPivot データを使用できるようにするタスクを分担します。このサービスの準備は SharePoint サービス アプリケーションを使用して行います。このアプリケーションは、セットアップ時に自動的に作成されるか、または SharePoint サーバーの全体管理でインストール後のタスクとして手動で作成します。

このトピックの特定のセクションに移動するには、次のリンクをクリックしてください。

サービスの操作

サービスの構成と管理

サービスの依存関係と要件

ファーム内でのサーバー接続

要求の割り当て

PowerPivot データのキャッシュ

キャッシュの検出とメンテナンス

サービスの操作

PowerPivot System サービスは、次の操作を実行します。

サーバーの操作

説明

PowerPivot データに対するオンデマンドの要求の処理

PowerPivot System サービスは、SharePoint ファームのコンテンツ ライブラリに格納されている PowerPivot データに対する要求を処理します。アプリケーション サーバー上の MSOLAP データ プロバイダーからの要求、または Web フロントエンド サーバー上の PowerPivot Web サービスからの要求を受け入れます。PowerPivot System サービスは、データを要求した SharePoint ユーザーの権限を借用して、SharePoint ライブラリから PowerPivot ブックを取得します。次に PowerPivot System サービスは、データ読み込み要求をローカルの Analysis Services に転送します。Analysis Services は、ブックから PowerPivot データを抽出してメモリに読み込み、データを要求したクライアント アプリケーションまたはサーバー アプリケーションに結果セットを返します。

PowerPivot System サービスは、データに対する要求を引き続き監視し、PowerPivot サービス アプリケーション データベース内でその情報を更新します。ファイルが 48 時間非アクティブあった場合、PowerPivot System サービスはローカルの Analysis Services インスタンスに対してアンロード要求を発行します。

PowerPivot のデータ更新要求の処理

PowerPivot System サービスは、定期的に実行するようにスケジュールされているデータ更新ジョブのキューも監視します。スケジュールされた時間になると、PowerPivot データを読み込み、外部データ ソースからデータを再インポートするようにローカルの Analysis Services インスタンスに指示します。データ更新は、自動的に実行されるサーバー操作です。このような操作をサポートするには追加のサービスと構成が必要です。詳細については、「PowerPivot データ更新を有効化し、構成する」を参照してください。

Analysis Services サービス インスタンスへの処理の割り当て

PowerPivot System サービスは、PowerPivot for SharePoint のインスタンスがファーム内に複数ある場合、クエリ処理に対する要求の負荷を使用可能なサーバーの間で分散します。SharePoint は、各サーバーで利用可能なサービスの一覧を管理します。PowerPivot System サービスはこの一覧を使用して、ファーム内の他のサーバーを特定します。どの PowerPivot for SharePoint サーバーが特定の要求を受け入れるかを判断するために、PowerPivot System サービスでは割り当て方法を使用します。割り当て方法には、ラウンドロビン方式 (既定) とサーバーの状態に基づく方式があります。サービス アプリケーションがどちらかの方式を使用するように構成できます。割り当ての詳細については、このトピックの「Request Allocation」を参照してください。

ユーザー接続と管理接続の設定

PowerPivot System サービスは、Analysis Services インスタンスへのアクティブな接続、再利用可能な接続、およびキャッシュされた接続を管理します。既に読み込まれている PowerPivot データへの継続的な接続要求に対しては、メモリ内の同じデータ ソースへのユーザー接続のために保持されている接続プールを使用できます。PowerPivot System サービスでは、ファーム内の他の PowerPivot System サービス インスタンスへの管理接続の作成と管理も行われます。

データのキャッシュ要求の発行

PowerPivot System サービスでは、PowerPivot データをコンテンツ ライブラリから取得するときに発生する待ち時間を短縮するために、キャッシュの手法が使用されます。この手法では、ファイル システムのデータのローカル コピーを格納して読み込みます。キャッシュの詳細については、このトピックの「Caching PowerPivot Data」を参照してください。

データのアンロード要求の発行

PowerPivot System サービスは、PowerPivot データ アクセスを監視し、非アクティブ データ ソースをメモリからアンロードするように Analysis Services インスタンスに指示します。いったんメモリに読み込まれた PowerPivot データは、同じデータに対する追加要求に備えてメモリに保持されます。非アクティブのまま一定の期間が経過すると、PowerPivot System サービスはアンロード要求を Analysis Services インスタンスに発行し、PowerPivot データをアンロードしてアプリケーション サーバーのメモリを解放するように要求します。既定では、データがユーザーによって操作されないまま 48 時間以上経過すると、セッションが非アクティブと見なされます。

使用状況データの収集

PowerPivot System サービスは、接続、読み込み、アンロード、クエリのレポート、およびサーバーの状態確認の使用状況イベントを登録し、それらのイベントの使用状況データを生成します。使用状況データは、PowerPivot 管理ダッシュボードで利用できます。詳細については、「PowerPivot 使用状況データ収集」を参照してください。

サーバーの状態の監視

PowerPivot System サービスは、Analysis Services サービスの可用性と状態を監視します。PowerPivot 状態統計コレクター タイマー ジョブによって決定される間隔で、Analysis Services インスタンスがある各コンピューターのシステム情報を要求します。CPU とメモリの使用状況データは、PowerPivot 管理ダッシュボードのサーバー状態レポートに表示されます。詳細については、「PowerPivot 管理ダッシュボード」を参照してください。

サービスの構成と管理

PowerPivot System サービスは、物理サービス インスタンスを初期化し、特定のサービス アプリケーションに対して定義されている設定、アプリケーション データ、およびセキュリティ コンテキストを使用する PowerPivot サービス アプリケーションによって構成されます。サービス アプリケーションには、タイムアウトしきい値、負荷分散、イベント ログ記録レベル、使用状況データ収集、およびデータ更新を構成するためのプロパティが用意されていますが、データ ファイルのキャッシュ、アンロード、または削除に関する事前に定義された間隔を変更するためのプロパティはありません。

SQL Server セットアップで PowerPivot サービス アプリケーションが自動的に構成された場合、サービスはファームに対して定義されている [サービス アプリケーション プール - SharePoint Web サービスのシステム] に割り当てられます。セキュリティを高めるために、後からサービス アカウントを変更して、専用のアカウントで実行することをお勧めします。詳細については、「PowerPivot サービス アプリケーション」および「サービス アカウントとパスワードの変更 (PowerPivot for SharePoint)」を参照してください。

サーバーの構成と管理は、サーバーの全体管理、および特定の PowerPivot サービス アプリケーションの使用状況データを示す PowerPivot 管理ダッシュボードによって行われます。詳細については、「PowerPivot 管理ダッシュボード」および「SharePoint の管理 (PowerPivot for SharePoint)」を参照してください。

PowerPivot for SharePoint と共にインストールされているサービスの管理には、SQL Server 構成マネージャーやインターネット インフォメーション サービスなどの他のツールやアプリケーションを使用しないでください。サーバーの全体管理を使用して、サービスの開始と停止、サービス アカウントやパスワードの変更を行うと、サーバーの状態や ID の変更がファーム内の他のサーバーに確実にブロードキャストされます。SharePoint で管理されている権限とログインも、ファームで実行されているサービスを SharePoint ツールで管理するときに更新されます。

サービスの依存関係と要件

PowerPivot System サービスは、SharePoint アプリケーション サーバーで共有サービスとして実行され、同じ物理コンピューターで実行されるローカルの SQL Server Analysis Services PowerPivot インスタンス (MSOLAP$PowerPivot) と緊密に連携します。このサービスは、ローカルの Analysis Services インスタンスに送られるすべてのデータ読み込み要求およびアンロード要求を通す唯一のパイプです。PowerPivot System サービスのすべての物理インスタンスには、必ずローカルの Analysis Services サーバー インスタンスが存在します。この 2 つのサービスは、SQL Server セットアップによって一緒にインストールおよび構成されます。どちらのサービスも、要求に失敗しないように同じ状態 (実行中または停止) を共有する必要があります。

PowerPivot System サービスにはサービス アプリケーションが定義されている必要があります。このサービス アプリケーションは、HTTP エンドポイントを提供します。サービスの操作は、この手順を完了するまで利用できません。

PowerPivot for SharePoint は、Excel Services、Windows トークン サービスに対するクレーム、Secure Store Service などの他の SharePoint 機能およびインフラストラクチャに依存しています。SharePoint が提供する機能に対する操作の依存関係の詳細については、「PowerPivot for SharePoint の既定の構成」を参照してください。

ファーム内でのサーバー接続

PowerPivot データへの接続は、Analysis Services クライアント ライブラリを使用し PowerPivot データに対してクエリを実行するクライアント アプリケーションやサーバー アプリケーションから行われます。PowerPivot ブックがファームの内部または外部のどちらにあるかは、クライアント ライブラリ (ADOMD.NET、AMO、または Analysis Services OLE DB プロバイダー) が判断します。クライアント ライブラリは、ブックの URL がファームの内部であるかまたは外部であるかに応じて、要求を異なる方法でルーティングします。

  • ファーム内部の要求は、PowerPivot Web サービスをバイパスして PowerPivot サービス アプリケーションに直接送信されます。このような要求で最も一般的な例は、Excel ブックに埋め込まれている PowerPivot データに対する要求です。このシナリオでは、Excel Calculation Services は Analysis Services OLE DB プロバイダーを使用して、ファーム内の PowerPivot サービス アプリケーションを特定します。PowerPivot サービス アプリケーションへの直接接続を行うのは、Excel Calculation Services のみではありません。Reporting Services レポートや PerformancePoint ダッシュボードなどの他のアプリケーションも、データに対してクエリを実行するレポートやダッシュボードが同じファーム内で実行されている場合には、PowerPivot サービス アプリケーションに直接接続します。

  • ファーム外部の要求は、通常、PowerPivot データのみを要求するクライアントまたはサーバー アプリケーションから発生します。このような要求の最も一般的な例は、レポート ビルダーの外部データ ソース、または別の Excel ブックへのデータ ソースとして PowerPivot ブックを使用する場合です。このシナリオでは、外部接続によって Excel ブック内の PowerPivot データのみが取得され、同じブック内にあるデータ ビジュアル化オブジェクトやデータ操作オブジェクトは無視されます。

    外部接続は、ソース ファーム内の PowerPivot Web サービスに送信されます。PowerPivot Web サービスは、PowerPivot サービス アプリケーションへの接続を検索して確立し、その結果、データを読み込んで返す Analysis Services インスタンスにクエリが転送されます。このサービスの詳細については、「PowerPivot Web サービス (PowerPivot for SharePoint)」を参照してください。

    注意

    PowerPivot ブックを Excel で開く操作 (たとえば、ブックの SharePoint URL を [ファイルを開く] ダイアログ ボックスで入力するなど) には、PowerPivot for SharePoint サーバー コンポーネントは関与しません。サーバー ドキュメントを Excel 2010 で開くと、ファイルが SharePoint からクライアント ワークステーションにダウンロードされます。このシナリオでは、Excel デスクトップ アプリケーションおよび PowerPivot for Excel アドインが、Analysis Services VertiPaq エンジンのインプロセス バージョンを介して、ローカルでデータを読み込んで表示します。

次の図は、要求がファーム内の Excel Services からのものか、ファームの外部で実行されているレポート ビルダーや Excel などのクライアント ツールからのものかに応じて、要求がたどる異なる経路を示しています。ファーム内部の要求では、他のサービス アプリケーションに対して WCF 接続が使用されます。ファーム外部の要求では、PowerPivot Web サービスが受け取る HTTP 接続が使用されます。

コンポーネントの接続と転送

PowerPivot データへの接続は、Analysis Services OLE DB プロバイダーによって確立されます。PowerPivot データを利用するサービスやアプリケーションは、SQL Server 2008 R2 バージョンの Analysis Services クライアント ライブラリを 1 つ以上使用する必要があります。これらのライブラリは PowerPivot for SharePoint または PowerPivot for Excel と共にインストールされます。これらは再配布が可能なので、Microsoft Web サイトの SQL Server 2008 R2 機能パック Web ページからダウンロードしてインストールすることもできます。

埋め込みデータ ソース接続について

埋め込みデータは、親のブック内の PowerPivot データ接続文字列で、Data Source = $embedded$ で示されます。埋め込みデータに対し、Analysis Services OLE DB プロバイダーは PowerPivot サービス アプリケーションへの WCF 接続を開き、その結果、親のブックの URL を使用してデータが取得されます。埋め込みデータの SharePoint アドレスは、常に親のブックの URL になります。

埋め込みデータは Excel 2010 ブックにのみ含まれています。Reporting Services レポートや PerformancePoint ダッシュボードでは、クライアント アプリケーションまたはビューアーに表示される親のドキュメントに PowerPivot データを埋め込むことはありません。

要求の割り当て

ファーム内に複数の PowerPivot for SharePoint サーバー インスタンスがある場合、PowerPivot データに対する要求は任意のサーバーによって処理されます。各 PowerPivot サービス アプリケーションは、使用可能なサーバーと読み込まれたデータの一覧を保持しており、それを使用してクエリ要求を割り当てます。この情報は、PowerPivot サービス アプリケーション データベースに格納されます。定義する各 PowerPivot サービス アプリケーションは、それぞれ独自のバージョンのサーバーの一覧を保持し、クエリ要求を受け取るたびにそれを参照します。この一覧は、Analysis Services インスタンスが要求を拒否した場合や、要求が失敗するようになった場合、すぐに更新されます。

PowerPivot System サービスはキャッシュ システムと負荷分散方式を使用して要求を割り当てます。データが検出されて読み込まれるまで、サーバーで次の確認が行われます。

  1. データが既に読み込まれている場合。PowerPivot サービス アプリケーションは、ファーム内の Analysis Services インスタンスによってデータが既にメモリに読み込まれているかどうかを、アクティブな PowerPivot データセットの一覧 (内部に保持している一覧) で確認します。データが現在読み込まれている場合は、その新しい要求に対するユーザー接続を開きます。

  2. データが読み込まれていないがキャッシュされている場合。PowerPivot サービス アプリケーションは、ファイル システムに既に存在する、キャッシュされた PowerPivot データセットの一覧 (内部に保持している一覧) を確認します。同じ PowerPivot データセットが複数のサーバーでキャッシュされている場合、PowerPivot サービス アプリケーションは、サーバーの状態を確認し、要求を受け入れるのに十分なリソースがあるサーバーの一覧を作成します。サーバーは、その一覧から無作為に選択されます。

  3. データが読み込まれておらず、キャッシュもされていない場合。この場合、PowerPivot データはコンテンツ ライブラリから取得する必要があります。どのサーバーが要求を受け入れるかは、割り当て方式を使用して決定されます。サーバーが選択されると、PowerPivot サービス アプリケーションは読み込み要求を Analysis Services インスタンスに発行し、PowerPivot ブックの SharePoint URL を渡します。

    既定では、PowerPivot for SharePoint はラウンドロビン方式を使用します。この方式では、要求が複数の PowerPivot サーバーに順番に割り当てられます。代わりに、サーバーの状態に基づく方式を指定することもできます。その場合、PowerPivot サービスは、最も負荷の小さいサーバーに要求を割り当てます。負荷分散方式の指定方法の詳細については、「PowerPivot サービス アプリケーションの作成および構成」を参照してください。

PowerPivot データのキャッシュ

PowerPivot データが 48 時間非アクティブであった場合は、データがメモリからアンロードされ、ディスクにキャッシュされます。データ ファイルをキャッシュすることで、コンテンツ データベースからデータを取得するときに発生する長い待ち時間が解消されます。最初にディスクにキャッシュすることで、サーバーは迅速にデータを再読み込みしてクエリ要求やデータ更新に対応できます。データはキャッシュに 3 日間保存された後、サーバーから物理的に削除されます。

PowerPivot データは、読み込まれたサーバーでキャッシュされます。キャッシュされたデータは可能であれば常に再利用されますが、アクセス頻度が高いために要求が他のサーバーに割り当てられることもあります。その場合、同じデータが複数のサーバーでキャッシュされます。

既定では、キャッシュ ファイルは、Analysis Services サービス インスタンスによって、C:\Program Files\Microsoft SQL Server\MSAS10_50.POWERPIVOT\OLAP\Backup フォルダーに格納されます。このフォルダーへの読み取りおよび書き込みアクセス権は、Analysis Services インスタンスと PowerPivot サービス アプリケーションの両方に付与されます。キャッシュされるのは PowerPivot データ ファイルだけです。PowerPivot データが抽出されると、データを提供した Excel ブックはキャッシュも再利用もされません。

Backup フォルダーの PowerPivot データ ファイルは手動で削除してディスク領域を解放できますが、ファイルは次に要求されたときキャッシュに追加されます。システムまたは個別の PowerPivot ブックのキャッシュをオフにすることはできません。PowerPivot データ ファイルはすべてアンロード操作時にファイル システムにキャッシュされます。

キャッシュの検出とメンテナンス

キャッシュ ファイルに関する情報は、PowerPivot サービス アプリケーションによって管理されます。サービスによって実行されるクリーンアップと検出のプロセスにより、使用されていないデータが削除され、新たにキャッシュされたデータ ファイルが検出されます。更新された情報は、PowerPivot サービス アプリケーション データベース内のインスタンス マップに書き込まれます。

クリーンアップと検出は、バックグラウンドで実行されます。このプロセスを構成したり、手動で実行してクリーンアップや検出の操作を強制的に実行したりすることはできません。

メンテナンスは次の操作で構成されます。

  • 過去 3 日間使用されていないキャッシュ内のファイルをすべて削除します。キャッシュ ファイルは、合計 5 日間 (サーバー メモリ内で 2 日間とキャッシュ内で 3 日間) 非アクティブであった場合にのみ削除されます。このプロセスでは、非アクティブなファイルが 30 分おきにチェックされます。

  • コンテンツ データベースで更新または削除されたキャッシュ内のファイルをすべて削除します。たとえば、データがサーバー上で更新された場合は、そのデータのキャッシュされたコピーがすべて削除されます。このチェックは毎日実行されます。

  • PowerPivot サービス アプリケーション データベースのファイル システムで見つかった、新しいキャッシュ ファイルの新しいエントリを追加します。データベースには、キャッシュ ファイルに関する情報を格納するためのテーブルがあります。新しいファイルがキャッシュに追加されると、クリーンアップと検出のプロセスによってそれらのファイルが検出され、PowerPivot サービス アプリケーション データベース内のインスタンス マップが更新されます。このプロセスでは、キャッシュ ファイルに関するインスタンス マップ情報が毎日確認されます。

  • PowerPivot サービス アプリケーション データベースに含まれているキャッシュ ファイルが、ディスク上の予想した場所に実際に存在することを確認します。ファイル システムで削除されたファイルは一覧から削除されます。このチェックは毎日実行されます。