PowerPivot のデータ更新の概要
PowerPivot データ更新操作は、SharePoint サーバー ファーム内の Analysis Services サーバー インスタンスで実行されるスケジュール設定された処理です。サーバー側の操作として外部データ ソースから定期的にデータを再インポートするようにスケジュール設定し、SharePoint サイトから開く PowerPivot ブックの古いデータを置き換えることができます。
このトピックでは、データ更新のしくみについて説明します。管理者またはブックの作成者はこの情報を使用して、データ更新で発生した問題のトラブルシューティングを行う前に処理全体を把握できます。
PowerPivot データ更新の詳細については、ホワイト ペーパー「PowerPivot データ更新について知りたくても聞きにくいこと」を参照してください。
このトピックの内容は次のとおりです。
データ更新のアーキテクチャ
データ更新で使用されるアカウント
データ更新の構成
データ更新のスケジュールの設定
データ更新のトリガー
データ更新の処理
データ更新の取り消し
データ更新のスケジュールの削除
注 |
---|
PowerPivot データ更新は Excel のデータ更新機能とは無関係のため、Excel の標準データ更新機能を使用して PowerPivot データを更新することはできません。PowerPivot for SharePoint がインストールされている SharePoint サーバーでの PowerPivot データ更新は、SharePoint サイトの [PowerPivot のデータ更新の管理] アプリケーション ページで構成され、パブリッシュ済みのブックに埋め込まれた PowerPivot データに対してのみ実行されます。 |
データ更新のアーキテクチャ
Excel ブックでの PowerPivot データの更新は、SharePoint ファーム内の Analysis Services と PowerPivot サーバー コンポーネントによってトリガー、実行、および管理される処理です。PowerPivot サービス アプリケーションは、データ更新ジョブを実行してデータ更新を開始し、データ更新後に更新されたデータ ファイルを確認してデータ更新を終了します。データの取得は、Analysis Services インスタンスによって実行されます。外部データ ソースへの接続を開き、クエリを送信して、既存のデータを新しい結果セットで上書きします。データ更新は、スケジュールを設定しておけば自動的に行われますが、データ更新の履歴を表示して実際の処理の結果の状態を確認することができます。
データ更新処理は、ユーザーによる開始操作に応じて実行される要求時のデータ処理とは異なり、処理をいつ実行するかを指定した定義済みのスケジュールに基づいて行われます。スケジュールでは、更新操作に含めるデータ ソース、およびブックや外部データ ソースへのアクセスに使用する資格情報も定義します。PowerPivot サービスではこの情報を使用して、自動処理としてデータ更新を開始および実行し、更新されたデータをブックに保存します。
データ更新を正常に行うには、サービスは、データ更新ジョブの実行とデータ ソースへの接続の両方に使用される保存済みの資格情報へのアクセス権を持っている必要があります。資格情報を保存するための SharePoint 機能が Secure Store Service です。Secure Store Service は、SharePoint 製品の一部である SharePoint アプリケーションです。データ更新シナリオをサポートするには、この機能を有効にします。[新しいサーバー] インストール オプションを使用してサーバーを設定した場合は、SQL Server セットアップにより、この機能も自動的に有効化されて設定されます。
データ更新をサポートするコンポーネントを次に示します。
PowerPivot データ更新タイマー ジョブ
PowerPivot サービス アプリケーション
Analysis Services サービス
PowerPivot データ更新タイマー ジョブは、ファーム内の各 PowerPivot サーバーで毎分実行されます。タイマー ジョブは、PowerPivot サービスを呼び出して、PowerPivot アプリケーション データベースにある定義済みスケジュールを読み取ります。タイマー ジョブは、SharePoint ファームのメンバーである各コンピューター上で実行される SharePoint 2010 Timer サービスによって実行されます。スケジュールが見つかると、PowerPivot データ更新タイマー ジョブは、ブックの提供元である Web アプリケーションに関連付けられている PowerPivot サービス アプリケーションに要求を送ります。ファーム内に Analysis Services サービス インスタンスが複数ある場合は、負荷分散方式を使用して要求を受け取るサーバーが決定されます。
要求を受け取ったサーバーは、その要求をローカル Analysis Services サービス インスタンスの処理キューに追加します。PowerPivot サービス アプリケーションはスケジュール定義を読み取って、ブックの場所、更新するデータ ソースの一覧、および処理の実行時に使用するユーザーの資格情報を取得し、この情報を Analysis Services サービス インスタンスに渡します。
Analysis Services サービス インスタンスは、十分なシステム リソースがあることを確認してから PowerPivot データ ソースを読み込み、スケジュール定義または PowerPivot データ ソース内で指定された資格情報を使用して外部データ ソースへの接続を開きます。 PowerPivot データ ソース内の既存の行が外部データ ソースの現在のデータに置き換えられます。新しい列やテーブルは無視されます。データ更新を使用して新しい列またはテーブルをデータ ソースに追加することはできません。
外部ソースからすべてのデータを取得した後、PowerPivot サービス アプリケーションは、コンテンツ ライブラリにブックを保存できるかどうかを確認します。ブックがチェックアウトされたり編集用に開かれたりしていなければ、更新されたブックがライブラリに保存され、ファームの使用状況データ収集システムにイベントのログが記録されます。ファイルがチェックアウトされているか開かれている場合、更新されたブックのバージョンは破棄されます。
データ更新は既定では無効になっています。データ更新を有効にして構成する方法の詳細については、「PowerPivot データ更新を有効化し、構成する」を参照してください。
データ更新で使用されるアカウント
SharePoint にパブリッシュされた PowerPivot ブックは、元のデータを提供した外部ソースの新しいデータを使用するように、自動的に更新できます。スケジュールされた時間になると、サーバーは外部ソースに接続し、ブック内のクエリと接続情報を使用してデータを再インポートします。
外部データ ソースへの接続を確立し、データ更新操作を完了するには、サーバーに次の情報が必要です。
データ更新操作が実行されるユーザー ID
外部データ ソースへの接続に使用するユーザー ID
PowerPivot サービス アプリケーションはデータ更新要求を処理しますが、そのサービス アプリケーション自体でジョブを実行することはありません。代わりに、別のユーザーの権限 (自動データ更新アカウントまたは SharePoint ユーザーの Windows 資格情報) を借用して処理を実行し、そのユーザーに対してデータ更新の履歴が収集されるようにします。スケジュールされたデータ更新では、保存されている資格情報を使用して外部データ ソースに接続することもできます。PowerPivot データ更新に使用されるすべての資格情報は SharePoint に保存されるため、前提条件として Secure Store Service を有効にし、構成する必要があります。使用するアカウントは、スケジュールを設定するときに指定します。
次の表では、データ更新で使用する ID を指定するためのさまざまなオプションについて説明します。
目的 |
アプローチ |
説明 |
要件 |
---|---|---|---|
ジョブの実行 |
PowerPivot 自動データ更新アカウントを使用する。 |
ブックに対してこのオプションを選択すると、すべてのデータ更新履歴と使用状況データが、自動アカウントに基づいて収集されます。より詳細な方法が必要な場合は、以下に示すその他の方法を使用してください。 |
自動データ更新アカウントを保存するには、Secure Store Service で対象アプリケーションを事前に作成しておく必要があります。 [新しいサーバー] インストール オプションを使用する場合は、SQL Server セットアップにより、自動データ更新アカウントが自動的に作成されます。アカウントは、このインストールの種類に関するすべてのサービスの準備に使用されるファーム アカウントに基づいています。 これ以外のインストールの場合は、その他のすべてのインストール シナリオで、アカウントを手動で作成する必要があります。 手順については、「PowerPivot 自動データ更新アカウントの構成と使用」を参照してください。 |
Windows のドメイン ユーザー アカウントを使用する。 |
特定のユーザー ID に基づいたデータ更新履歴または使用状況データが必要な場合は、使用するアカウントの対象アプリケーションを構成できます。 |
使用するアカウントの資格情報を保存するには、Secure Store Service で対象アプリケーションを作成する必要があります。 手順については、「Configure any Windows account for data refresh」を参照してください。 |
|
ジョブをスケジュール設定しているユーザーの個人用の Windows アカウントを使用する。 |
PowerPivot サービスは、データ更新スケジュールを構成しているユーザーの Windows ユーザー資格情報を保存するため、対象アプリケーションを直ちに作成し、スケジュールが存在しなくなると、アプリケーションを削除します。 |
なし。これらの資格情報は自動的に保存され、スケジュールがなくなると自動的に削除されます。 |
|
外部データ ソースへの接続 |
ブック内に埋め込まれた接続文字列と資格情報を使用する。 |
接続情報は、データを最初にインポートしたときにブック内に保存されます。接続文字列、資格情報、およびクエリは、PowerPivot ブックの一部として組み込まれます。資格情報を上書きするには、この表の以下のいずれかのオプションを使用します。 |
なし。接続情報は、既に使用可能になっています。 |
Windows ユーザー資格情報を使用する。 |
このオプションを使用して、接続文字列と共に保存されている Windows ドメインのユーザー名とパスワードをオーバーライドします。 |
使用するアカウントの資格情報を保存するには、Secure Store Service で対象アプリケーションを作成する必要があります。 手順については、「Configure any Windows account for data refresh」を参照してください。 |
|
データベースまたはサードパーティの資格情報を使用する。 |
このオプションを使用して、接続文字列の Windows 以外の資格情報をオーバーライドします。 |
使用するアカウントの資格情報を保存するには、Secure Store Service で対象アプリケーションを作成する必要があります。 手順については、「Configure a predefined account for accessing external or third-party data sources」を参照してください。 |
データ更新の構成
ユーザーがデータ更新スケジュールを設定する前に、ファームまたはサービス アプリケーションの管理者がデータ更新を有効にする必要があります。データ更新は既定では使用できません。管理者が次の操作を行ってデータ更新を有効にします。
Secure Store Service を有効にし、構成します。この手順により、最低レベルのデータ更新機能が有効になります。つまり、ブックの所有者か作成者が自分の資格情報を使用してデータ更新の実行スケジュールを定義できます。
サーバーにまだインストールされていない、PowerPivot ブックへのデータのインポートに使用するデータ プロバイダーをインストールします。
必要に応じて、PowerPivot 自動データ更新アカウントを構成します。この手順により、PowerPivot データ更新スケジュール ページの [管理者が構成したデータ更新アカウントを使用する] オプションが有効になります。ユーザーが自分の資格情報を使用してデータ更新ジョブを実行するのでなく、自動アカウントを使用することが必要になる場合があります。ブックの接続プロパティが認証を必要としない構成である場合、データ更新を使用するには PowerPivot 自動データ更新アカウントを構成する必要があります。
必要に応じて、データ更新ジョブの実行に使用できる任意の Windows ユーザー アカウントを構成します。管理者は、データ更新を実行するのに複数のアカウントを使用可能にすることが必要になる場合があります。これらのアカウントの対象アプリケーションの作成に Secure Store Service を使用し、対象アプリケーションの ID をユーザーに提供して、ユーザーがデータ更新スケジュールで ID を指定できるようにすることができます。
ファームまたはサーバーの管理者は、PowerPivot サーバーのデータ更新処理モードも構成できます。データ更新処理モードは既定で有効になっていますが、管理者はこの処理モードをサーバー用に無効にできることに留意するべきです。データ更新が機能していないように見える場合は、このサーバー オプションを確認することが問題をトラブルシューティングする際の最初の手順になります。詳細については、「データ更新専用またはクエリ専用処理の構成」を参照してください。
データ更新のスケジュールの設定
ブックの作成者または所有者は、SharePoint に保存した自分のブックのデータ更新スケジュールを設定できます。データ更新をスケジュールする場合、SharePoint サイトのブックに対して投稿権限を持っている必要があります。
ブックの所有者は、以下を指定してデータ更新を設定します。
データを更新する頻度を決定するスケジュール。
データ更新ジョブを実行するためのアカウント (自動データ更新アカウントまたは SharePoint ユーザーの Windows 資格情報)。
データ更新操作に含めるデータ ソース。データ ソースには、ネットワーク接続でアクセスできる必要があります。ワークステーションのローカル ファイルからデータをインポートした場合、そのソースからデータを更新しようとしたときにこのデータ ソースをサーバーに提供できない可能性が高くなります。データ ファイルに対する権限も必要です。すべてのデータ ソースがデータ更新の要件を満たすわけではありません。更新操作に含めると失敗するデータ ソースは除外することができます。
更新されたデータを提供する外部データ ソースへのアクセスに使用する資格情報 (オプション)。既定では、データを取得するために最初に使用された資格情報がデータ更新にも使用されますが、スケジュールで別の資格情報を入力して変更することができます。
PowerPivot のデータ更新スケジュールはブックごとに 1 つです。ブックに対する投稿権限があるユーザーであれば、だれでもデータ更新スケジュールを作成または変更できます。
データ更新は既定では無効になっていますが、サービス アプリケーション管理者が PowerPivot サービス アプリケーションに対して有効にすることができます。データ更新を設定する方法の詳細については、「PowerPivot データ更新のスケジュール」を参照してください。
データ更新のトリガー
データ更新スケジュールは、PowerPivot サービス アプリケーション データベースに格納され、アプリケーション サーバーで実行される PowerPivot データ更新タイマー ジョブによってトリガーされます。タイマー ジョブは、PowerPivot サービスを呼び出して、そのデータベースからスケジュール情報を読み取ります。既定では、タイマー ジョブは 1 分ごとにスキャンを実行します。この間隔は、SharePoint ファームで許容されるタイマー ジョブの間隔の最小値です。
タイマー ジョブは、ファーム内に PowerPivot for SharePoint インスタンスがあるすべての物理サーバーに対して実行されます。タイマー ジョブ自体はファーム レベルのジョブとして定義されます。タイマー ジョブのプロパティは、サーバーの全体管理の [監視] ページで表示および構成できます。定義した設定は、ファーム内のすべての PowerPivot データ更新タイマー ジョブに適用されます。
タイマー ジョブはユーザー定義の更新スケジュールを検出すると、データ処理要求を PowerPivot サービスに渡して、ローカル Analysis Services サーバー インスタンスの処理キューに格納します。Analysis Services のローカル インスタンスがない場合は、Web アプリケーションに関連付けられた別のインスタンスに要求が追加されます。キューに格納された要求は、処理されるか取り消されるまで保持されます。
処理キューの優先順位を設定したり順序を変更したりすることはできませんが、[今すぐ実行] アクションを使用するとデータ更新をすぐに実行することができます。詳細については、「PowerPivot データ更新のスケジュール」を参照してください。
データ更新の処理
データ更新は、Analysis Services サーバー インスタンスが、スケジュールで指定されたすべてのデータ ソースから更新されたデータを取得できた場合に成功します。データを取得できないデータ ソースが 1 つでもあると、更新されたどのデータも保存されません。
次の図は、データ更新操作のステップを示しています。
次の表に、データ更新操作が開始されるときのサーバー アクションを示します。
1 |
承認チェックによって、更新されたデータを PowerPivot データ ソースに対して要求するために必要な権限があるかどうかが確認されます。データ更新ジョブで、自動データ更新アカウントまたはスケジュール定義で指定された Windows ユーザーの ID の権限が借用され、コンテンツ データベースからその ID でブック ファイルが開かれます。 |
2 |
サーバーでは、現在のデータ更新操作のスケジュールに含まれているデータ ソースの一覧が読み取られます。この一覧には、PowerPivot データ ソースに現在データを提供しているすべてのデータ ソース、またはデータ更新操作に対して明示的に選択された個々のデータ ソースが含まれます。ユーザーは、スケジュールに含めるデータ ソースのサブセットを選択できます。 サービスによって、PowerPivot データ ソース内に格納された接続文字列を使用して各データ ソースへの接続が開かれます。接続の資格情報は、データ更新スケジュールの定義方法に応じて、接続文字列または Secure Store から読み取られます。データ更新のスケジュールを設定したユーザーが、特定のデータ ソースに接続するために指定された資格情報を入力している場合は、Secure Store から読み取られます。 各データ ソースを並行して開いてクエリが実行されます。データ ソースが使用できない場合やエラーが発生した場合は、データ更新が失敗し、問題の原因を示すエラーが表示されます。データ更新ジョブの処理が停止し、データ更新の履歴にエラーが書き込まれます。 |
3 |
すべてのデータ ソースに対するデータ更新が成功すると、データとブックがコンテンツ データベースに保存され、操作のログがデータ更新の履歴に記録されます。ログ エントリには、Windows ユーザーまたは自動データ更新アカウントの ID も含まれます。 更新されたデータをサーバーが保存しようとしているときに、ブックがチェックアウトされていてはなりません。ブックがチェックアウトされていて、更新されたブックを保存できない場合、更新されたデータは破棄されます。ブックが編集用にロックされている場合は、更新されたブックは、スケジュールで指定された Windows 資格情報または自動データ更新アカウントを使用して保存されます。 |
データ更新用のシステム リソースの測定
データ更新処理は、処理を開始できるだけの十分なメモリ (ファイル サイズの 1.5 倍) がサーバーにある場合にのみ実行されます。データ更新の要求の割り当てには、オンデマンド クエリと同じ負荷分散方式が使用されます。PowerPivot サービス アプリケーションでラウンド ロビンを使用している場合は、データ更新要求は次のサーバーに割り当てられます。ヘルス ベースの方法では、使用できるリソースが最も多いサーバーに要求が割り当てられます。各サーバーのシステム情報を照会し、すべてのサーバーでメモリが不足している場合は、データ更新ジョブ用の領域を確保するために 1 つまたは複数のデータ ソースがアンロードされます。データ ソースは、非アクティブな時間が最も長いものから順番に削除されます。メモリが不足していない候補となるサーバーが複数ある場合は、コンテンツ データベースから取得しなくてもすぐに読み込めるキャッシュされた PowerPivot データ ソースを使用できるかどうかなど、他の条件を使用して割り当てが行われます。
既定では、PowerPivot のデータ更新ジョブとオンデマンド クエリは、アプリケーション サーバーの同じ物理サーバー リソースを共有します。この動作は、特定の Analysis Services サービス インスタンスをオンデマンド クエリまたはデータ更新のどちらかだけをサポートするように構成することで変更できます。同時に実行できるデータ更新ジョブの数を変更することもできます。詳細については、「データ更新専用またはクエリ専用処理の構成」を参照してください。
データ更新の取り消し
サーバーのメモリが不足していて、スケジュールで設定された時刻にデータ更新を処理できない場合、要求はキューに残り、サーバーでシステム リソースを使用できるようになると処理されます。
何らかの理由でシステム リソースを使用できなくなると、サーバーは要求を取り消してキューから削除し、データ更新の履歴にイベントを記録します。必要に応じて、処理が取り消されたことをドキュメントの所有者に電子メールで通知することもできます。取り消しは、処理の次回実行予定時刻に実行されます。たとえば、水曜日の午前 9 時に予定されているデータ更新が実行されなかった場合、次の水曜日の午前 9 時に、処理されていない要求がキューに残っていることがサーバーで検出されると取り消しが実行されます。
開始したデータ更新操作を手動で取り消すことはできませんが、あらかじめスケジュールを無効にしてデータ更新が実行されないようにすることは可能です。特定のブックのデータ更新を無効にする方法の詳細については、「PowerPivot データ更新のスケジュール」を参照してください。サーバーでデータ更新をオフにする方法の詳細については、「データ更新専用またはクエリ専用処理の構成」を参照してください。
データ更新のスケジュールの削除
データ更新スケジュールは、PowerPivot ブック用に格納および管理されているメタデータの一部です。スケジュールは個別のファイルではないため、スケジュールを使用するブックとは別に削除することはできません。ブックのデータを更新する必要がなくなった場合は、スケジュールの [有効] チェック ボックスをオフにできます。スケジュールは実行されなくなり、非アクティブ期間の後、以前に指定したスケジュール情報が削除されます。
ブックを削除すると、そのブックに関連付けられていたすべてのデータ更新スケジュールが削除されます。その後ブックを再利用する場合、スケジュール情報も再利用され、同じスケジュールで再開されます。