リモート サーバー上での SQL Server エージェントを使用したパッケージの負荷分散

実行する必要のあるパッケージが数多くある場合、使用可能な他のサーバーでパッケージを実行すると便利です。すべてのパッケージを 1 つの親パッケージで管理している場合に、他のサーバーを使用してパッケージを実行するこの方法を、負荷分散といいます。SQL ServerIntegration Services の負荷分散は、手動による方法であり、パッケージの所有者が構築する必要があります。負荷分散は、サーバーで自動的には実行されません。また、リモート サーバーで実行するパッケージは、他のパッケージ内の個別のタスクではなく、完全なパッケージである必要があります。

負荷分散は、次のようなシナリオで役に立ちます。

  • 複数のパッケージを同時実行できる。

  • 個々のパッケージが大きく、順番に実行すると、処理許容時間を超えて実行される可能性がある。

管理者や設計者は、処理に他のサーバーを使用することに利点があるかどうかを判断できます。

次の図は、サーバー上の親パッケージを示します。親パッケージには、SQL Server エージェント ジョブの実行タスクが複数含まれています。親パッケージ内の各タスクは、リモート サーバー上の SQL Server エージェントを呼び出します。これらのリモート サーバーには、そのサーバー上のパッケージを呼び出すステップを含む SQL Server エージェント ジョブがあります。

SSIS 負荷分散アーキテクチャの概要

このアーキテクチャで負荷分散に必要な手順は、新しい概念ではありません。負荷分散は、既存の概念と一般的な SSIS オブジェクトを新しい方法で使用して実現されています。

リモート インスタンスで SQL Server エージェントを使用したパッケージの実行

リモート パッケージの実行の基本的なアーキテクチャでは、中心となるパッケージは、他のリモート パッケージを制御する SQL Server のインスタンスに常駐します。図では、SSIS Parent という名前の中心となるパッケージを示しています。この親パッケージが常駐するインスタンスによって、子パッケージを実行する SQL Server エージェント ジョブの実行が制御されます。子パッケージの実行は、リモート サーバーの SQL Server エージェントで制御される固定的なスケジュールに基づくわけではありません。子パッケージは、親パッケージから呼び出されたときに SQL Server エージェントによって開始され、SQL Server エージェントが常駐している同じ SQL Server のインスタンスで実行されます。

SQL Server エージェントを使用してリモート パッケージを実行するには、あらかじめ親パッケージと子パッケージを構成し、子パッケージを制御する SQL Server エージェント ジョブをセットアップしておく必要があります。次のセクションでは、リモート サーバーで実行するパッケージの作成、構成、実行、および管理方法について説明します。このプロセスには、いくつかの手順があります。

  • 子パッケージを作成してリモート サーバーにインストールします。

  • パッケージを実行するリモート インスタンスで SQL Server エージェント ジョブを作成します。

  • 親パッケージを作成します。

  • 子パッケージ用のログ記録シナリオを決定します。

次の表に、このプロセスを説明するトピックへのリンクを示します。

トピック

説明

子パッケージの作成と実行

パッケージのインストール方法およびパッケージを実行する SQL Server エージェント ジョブの作成方法について説明します。

親パッケージの作成

SQL Server エージェント ジョブの実行タスクを多数含む親パッケージの作成方法について説明します。各タスクが子パッケージの 1 つを実行します。

リモート サーバー上の負荷分散パッケージのログ記録の管理

リモート パッケージ用のログ記録シナリオについて説明します。

Integration Services のアイコン (小) 最新の Integration Services の入手

マイクロソフトが提供する最新のダウンロード、アーティクル、サンプル、ビデオ、およびコミュニティで選択されたソリューションについては、MSDN または TechNet の Integration Services のページを参照してください。

これらの更新が自動で通知されるようにするには、ページの RSS フィードを購読します。

関連項目

概念