パッケージに対する SQL Server エージェント ジョブ
SQL Server エージェントを使用して、SQL Server Integration Services パッケージの実行を自動化およびスケジュール設定できます。 Integration Services サーバーに配置されているパッケージ、および SQL Server、SSIS パッケージ ストア、ファイル システムに格納されているパッケージのスケジュールを設定できます。
このトピックのセクション
このトピックの内容は次のとおりです。
SQL Server エージェントでのジョブのスケジュール設定
Integration Services パッケージのスケジュール設定
スケジュールされたパッケージのトラブルシューティング
SQL Server エージェントでのジョブのスケジュール設定
SQL Server エージェントとは、SQL Server エージェント ジョブを実行してタスクの自動化とスケジュール設定を可能にする、SQL Server によってインストールされるサービスです。 ジョブを自動的に実行できるようにするには、SQL Server エージェント サービスを実行している必要があります。 詳細については、「SQL Server エージェントの構成」を参照してください。
SQL Server データベース エンジンのインスタンスに接続すると、SQL Server Management Studio のオブジェクト エクスプローラーに [SQL Server エージェント] ノードが表示されます。
定期的なタスクを自動化するには、[新しいジョブ] ダイアログ ボックスを使用してジョブを作成します。 詳細については、「ジョブの実装」を参照してください。
ジョブを作成した後は、少なくとも 1 つのステップを追加する必要があります。 1 つのジョブに複数のステップを含め、それぞれのステップで異なるタスクを実行できます。 詳細については、「ジョブ ステップの管理」を参照してください。
ジョブとジョブ ステップを作成した後は、ジョブを実行するためのスケジュールを作成できます。 また、手動で実行する、スケジュールされていないジョブも作成できます。 詳細については、「スケジュールの作成とジョブへのアタッチ」を参照してください。
ジョブ完了時にオペレーターへ電子メール メッセージを送信する通知オプションなどの設定、警告の追加を行い、ジョブを拡張できます。 詳細については、「警告」を参照してください。
Integration Services パッケージのスケジュール設定
SQL Server エージェント ジョブを作成して Integration Services パッケージのスケジュールを設定する場合は、少なくとも 1 つのステップを追加し、ステップの種類を [SQL Server Integration Services パッケージ] に設定する必要があります。 1 つのジョブに複数のステップを含め、それぞれのステップで異なるパッケージを実行できます。
ジョブ ステップからの Integration Services パッケージの実行は、dtexec ユーティリティ (dtexec.exe) および DTExecUI ユーティリティ (dtexecui.exe) を使用したパッケージの実行に似ています。 コマンド ライン オプションまたは [パッケージ実行ユーティリティ] ダイアログ ボックスを使用してパッケージの実行時オプションを設定する代わりに、[新しいジョブ ステップ] ダイアログ ボックスで実行時オプションを設定します。 パッケージを実行するためのオプションの詳細については、「dtexec ユーティリティ」を参照してください。
詳細については、「SQL Server エージェントを使用してパッケージのスケジュールを設定する」を参照してください。
SQL Server エージェントを使用してパッケージを実行する方法のデモ ビデオについては、MSDN ライブラリのビデオ ホーム ページ「SQL Server エージェントを使用してパッケージ実行を自動化する方法 (SQL Server ビデオ)」を参照してください。
トラブルシューティング
SQL Server エージェントのジョブ ステップは、パッケージを SQL Server データ ツール (SSDT) およびコマンド ラインで正常に実行できる場合でも、パッケージの開始に失敗することがあります。 この問題には、いくつかの一般的な原因と、推奨されるソリューションがあります。 詳細については、次のリソースを参照してください。
Microsoft のサポート技術情報の記事「SQL Server エージェントのジョブ ステップから SSIS パッケージを呼び出したときに SSIS パッケージが実行されません」
MSDN ライブラリのビデオ「トラブルシューティング : SQL Server エージェントを使用したパッケージ実行 (SQL Server ビデオ)」
SQL Server エージェントのジョブ ステップがパッケージを開始した後、パッケージの実行が失敗したり、正常に実行されても予期しない結果になる場合があります。 これらの問題のトラブルシューティングには、次のツールを使用できます。
SQL Server MSDB データベース、SSIS パッケージ ストア、またはローカル コンピューターのフォルダーに格納されているパッケージでは、[ログ ファイルの表示] と、パッケージの実行中に生成されたログおよびデバッグ ダンプ ファイルを使用できます。
[ログ ファイルの表示] を使用するには、次の操作を実行します。
オブジェクト エクスプローラーで SQL Server エージェント ジョブを右クリックし、[履歴の表示] をクリックします。
[ログ ファイルの概要] ボックスで、[メッセージ] 列に "ジョブが失敗しました" というメッセージが含まれているジョブ実行を探します。
ジョブ ノードを展開し、ジョブ ステップをクリックして、メッセージの詳細を [ログ ファイルの概要] ボックスの下の領域に表示します。
SSISDB データベースに格納されているパッケージでも、[ログ ファイルの表示] と、パッケージの実行中に生成されたログおよびデバッグ ダンプ ファイルを使用できます。 また、Integration Services サーバーのレポートを使用できます。
レポートでジョブ実行に関連するパッケージ実行の情報を探すには、次の操作を行います。
上記の手順に従って、ジョブ ステップのメッセージの詳細を表示します。
メッセージに記載されている実行 ID を探します。
オブジェクト エクスプローラーで、[Integration Services カタログ] ノードを展開します。
SSISDB を右クリックし、[レポート]、[標準レポート] の順にポイントして、[すべての実行] をクリックします。
[すべての実行] レポートの [ID] 列で、実行 ID を探します。 [概要]、[すべてのメッセージ]、または [実行のパフォーマンス] をクリックして、このパッケージ実行についての情報を表示します。
"概要"、"すべてのメッセージ"、および "実行のパフォーマンス" の各レポートの詳細については、「Integration Services サーバーのレポート」を参照してください。
外部リソース
Microsoft Web サイトのサポート技術情報の記事「SQL Server エージェントのジョブ ステップから SSIS パッケージを呼び出したときに SSIS パッケージが実行されません」
MSDN ライブラリのビデオ「トラブルシューティング : SQL Server エージェントを使用したパッケージ実行 (SQL Server ビデオ)」
MSDN ライブラリのビデオ「SQL Server エージェントを使用してパッケージ実行を自動化する方法 (SQL Server ビデオ)」
mssqltips.com の技術記事「Windows PowerShell を使用した SQL Server エージェント ジョブの確認」
mssqltips.com の技術記事「SQL エージェント ジョブを有効または無効にしたときの自動警告」
mssqltips.com のブログ「Windows イベント ログに書き込むための SQL エージェント ジョブの構成」
|