SQL Server エージェントを使用してパッケージのスケジュールを設定する
以下の手順は、パッケージを実行する SQL Server エージェント ジョブ ステップを使用して、パッケージの実行を自動化する方法を示しています。
SQL Server エージェントを使用してパッケージの実行を自動化するには
SQL Server Management Studio で、ジョブを作成する SQL Server のインスタンスに接続するか、ステップを追加するジョブを含むインスタンスに接続します。
オブジェクト エクスプローラーで、SQL Server エージェントのノードを展開し、次のいずれかの操作を実行します。
新しいジョブを作成するには、[ジョブ] を右クリックして [新しいジョブ] をクリックします。
既存のジョブにステップを追加するには、[ジョブ] を展開して該当するジョブを右クリックしてから、[プロパティ] をクリックします。
新しいジョブを作成する場合は、[全般] ページで、ジョブの名前を入力し、所有者およびジョブ カテゴリを選択し、必要に応じてジョブの説明も入力します。
ジョブをスケジュールできるようにするには、[有効] を選択します。
スケジュールするパッケージのジョブ ステップを作成するには、[ステップ] をクリックし、[新規作成] をクリックします。
ジョブ ステップの種類として [Integration Services パッケージ] をクリックします。
[実行するアカウント名] ボックスの一覧で、[SQL Server エージェント サービスのアカウント] をクリックするか、ジョブ ステップで使用する資格情報を備えたプロキシ アカウントをクリックします。 プロキシ アカウントの作成方法の詳細については、「SQL Server エージェント プロキシの作成」を参照してください。
[SQL Server エージェント サービスのアカウント] の代わりにプロキシ アカウントを使用すると、SQL Server エージェントを使用してパッケージを実行する場合に発生する一般的な問題を解決できる場合があります。 それらの問題の詳細については、Microsoft サポート技術情報の記事「SQL Server エージェント ジョブ ステップから SSIS パッケージを呼び出したときに、SSIS パッケージが実行されない」を参照してください。
注 プロキシ アカウントが使用する資格情報のパスワードが変更された場合は、資格情報のパスワードを更新する必要があります。 そうしない場合、ジョブ ステップは失敗します。
SQL Server エージェントのサービス アカウントの構成の詳細については、「SQL Server エージェントのサービス開始アカウントの設定 (SQL Server 構成マネージャー)」を参照してください。
[パッケージ ソース] ボックスの一覧でパッケージのソースをクリックし、ジョブ ステップのオプションを構成します。
次の表は、使用できるパッケージ ソースを示しています。
パッケージ ソース
説明
SSIS カタログ
SSISDB データベースに格納されるパッケージ。 パッケージは、Integration Services サーバーに配置される Integration Services プロジェクトに含まれています。
SQL Server
MSDB データベースに格納されるパッケージ。 これらのパッケージを管理するには、Integration Services サービスを使用します。
SSIS パッケージ ストア
コンピューターの既定のフォルダーに格納されるパッケージ。 既定のフォルダーは、<ドライブ>:\Program Files\Microsoft SQL Server\110\DTS\Packages です。 これらのパッケージを管理するには、Integration Services サービスを使用します。
注 Integration Services の構成ファイルを変更することで、別のフォルダーを指定したり、Integration Services サービスによって管理されるファイル システムの追加のフォルダーを指定したりすることができます。 詳細については、「Integration Services サービスの構成 (SSIS サービス)」を参照してください。
ファイル システム
ローカル コンピューターの任意のフォルダーに格納されるパッケージ。
次の表では、選択したパッケージ ソースに応じてジョブ ステップで使用できる構成オプションについて説明しています。
重要 パッケージがパスワードで保護されている場合、[新しいジョブ ステップ] ダイアログ ボックスの [全般] ページのいずれかのタブ ([パッケージ] タブを除く) をクリックすると、[パッケージ パスワード] ダイアログ ボックスが表示されるので、パスワードを入力する必要があります。 入力しないと、SQL Server エージェント ジョブはパッケージの実行に失敗します。
パッケージ ソース: SSIS カタログ
タブ
オプション
パッケージ
サーバー
SSISDB カタログをホストしているデータベース サーバー インスタンスの名前を入力または選択します。
[SSIS カタログ] がパッケージ ソースである場合、サーバーへのログオンに使用できるのは Microsoft Windows ユーザー アカウントだけです。 SQL Server 認証は使用できません。
パッケージ
参照ボタンをクリックして、パッケージを選択します。
オブジェクト エクスプローラーの [Integration Services カタログ] ノードの下にあるフォルダー内のパッケージを選択します。
パラメーター
[構成] タブにあります。
パッケージに含まれているパラメーターの新しい値を入力します。 リテラル値を入力するか、既にパラメーターにマップしてあるサーバー環境変数に含まれている値を使用することができます。
リテラル値を入力するには、パラメーターの横にある参照ボタンをクリックします。 [実行用のリテラル値を編集] ダイアログ ボックスが表示されます。
環境変数を使用するには、[環境] をクリックし、使用する変数を含む環境を選択します。
重要 複数のパラメーターや接続マネージャー プロパティを、複数の環境に含まれている変数にマップしている場合は、SQL Server エージェントによってエラー メッセージが表示されます。 特定の実行で、パッケージは単一のサーバー環境に含まれている値だけで実行できます。
サーバー環境を作成し、変数をパラメーターにマップする方法については、「サーバー環境の作成とマップ」を参照してください。
[パラメーター] タブには、たとえば SQL Server データ ツール (SSDT) を使用してパッケージをデザインしたときに追加したパラメーターが表示されます。 タブには、Integration Services プロジェクトをパッケージ配置モデルからプロジェクト配置モデルに変換したときにパッケージに追加されたパラメーターも表示されます。 Integration Services プロジェクト変換ウィザードを使用すると、パッケージ構成をパラメーターに置き換えることができます。
接続マネージャー
[構成] タブにあります。
接続マネージャー プロパティの値を変更します。 たとえば、サーバー名を変更できます。
パラメーターは、SSIS サーバー上で接続マネージャー プロパティ用に自動的に生成されます。
プロパティの値を変更するには、リテラル値を入力するか、既に接続マネージャー プロパティにマップしてあるサーバー環境変数に含まれている値を使用することができます。
リテラル値を入力するには、パラメーターの横にある参照ボタンをクリックします。 [実行用のリテラル値を編集] ダイアログ ボックスが表示されます。
環境変数を使用するには、[環境] をクリックし、使用する変数を含む環境を選択します。
重要 複数のパラメーターや接続マネージャー プロパティを、複数の環境に含まれている変数にマップしている場合は、SQL Server エージェントによってエラー メッセージが表示されます。 特定の実行で、パッケージは単一のサーバー環境に含まれている値だけで実行できます。
サーバー環境を作成し、変数を接続マネージャー プロパティにマップする方法については、「サーバー環境の作成とマップ」を参照してください。
詳細設定
[構成] タブにあります。
パッケージ実行用の次の追加の設定を構成します。
- プロパティのオーバーライド
[追加] をクリックして、パッケージ プロパティの新しい値の入力、プロパティ パスの指定、およびプロパティ値が機微なデータであるかどうかの指定を行います。 機微なデータは Integration Services サーバーによって暗号化されます。
プロパティの設定を編集または削除するには、[プロパティのオーバーライド] ボックスの行をクリックし、[編集] または [削除] をクリックします。
プロパティ パスを見つけるには、次のいずれかの操作を行います。
XML 構成ファイル (*.dtsconfig) からプロパティ パスをコピーします。 パスは、ファイルの Configuration セクションに PATH 属性の値として記述されています。 次に示すのは、MaximumErrorCount プロパティのパスの例です。
\Package.Properties[MaximumErrorCount]
パッケージ構成ウィザードを実行し、最後の [ウィザードの完了] ページからプロパティ パスをコピーします。 その後、ウィザードの実行を取り消すことができます。
注 [プロパティのオーバーライド] オプションは、以前のリリースの Integration Services からアップグレードされた構成を持つパッケージに対して適用されます。 SQL Server 2012 Integration Services (SSIS) を使用して作成し、Integration Services サーバーに配置するパッケージは、構成の代わりにパラメーターを使用します。
- ログ記録レベル
パッケージ実行のために、次のいずれかのログ記録レベルを選択します。
[パフォーマンス] または [詳細] ログ記録レベルを選択すると、パッケージ実行のパフォーマンスに影響を及ぼす可能性があります。
なし
ログ記録をオフにします。 パッケージの実行状態のみがログに記録されます。
基本
カスタム イベントと診断イベントを除く、すべてのイベントをログに記録します。 これがログ記録レベルの既定値です。
パフォーマンス
パフォーマンス統計、および OnError イベントと OnWarning のイベントのみをログに記録します。
詳細
カスタム イベントと診断イベントを含む、すべてのイベントをログに記録されます。
選択したログ記録レベルによって、SSISDB ビューや Integration Services サーバーのレポートに表示される情報が決まります。 詳細については、「SSIS サーバーでのパッケージ実行のログ記録を有効にする」を参照してください。
- エラー時にダンプする
パッケージの実行中にエラーが発生した場合に、デバッグ ダンプ ファイルを生成するかどうかを指定します。
ファイルには、問題のトラブルシューティングに役立つ、パッケージの実行に関する情報が含まれます。
このオプションを選択した場合、実行中にエラーが発生すると、Integration Services によって .mdmp ファイル (バイナリ ファイル) および .tmp ファイル (テキスト ファイル) が作成されます。 Integration Services の既定では、これらのファイルは <ドライブ>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps フォルダーに格納されます。
- 32 ビット ランタイム
64 ビット バージョンの SQL Server および SQL Server エージェントがインストールされている 64 ビット コンピューター上で、32 ビット バージョンの dtexec ユーティリティを使用してパッケージを実行するかどうかを示します。
たとえば、パッケージが 64 ビット バージョンでは使用できないネイティブ OLE DB プロバイダーを使用している場合に、32 ビット バージョンの dtexec を使用してパッケージを実行する必要がある場合があります。 詳細については、「64 ビット コンピューター上の Integration Services に関する注意点」を参照してください。
既定では、ジョブ ステップの種類として [SQL Server Integration Services パッケージ] を選択した場合、SQL Server エージェントはシステムによって自動的に呼び出されるバージョンの dtexec ユーティリティを使用してパッケージを実行します。 システムは、コンピューター プロセッサと、コンピューター上で実行されている SQL Server および SQL Server エージェントのバージョンに応じて、32 ビットまたは 64 ビット バージョンのユーティリティを呼び出します。
パッケージ ソース: SQL Server、SSIS パッケージ ストア、またはファイル システム
SQL Server、SSIS パッケージ ストア、またはファイル システムに格納されるパッケージに設定できるオプションの多くは、dtexec コマンド プロンプト ユーティリティのコマンド ライン オプションに対応しています。 ユーティリティとコマンド ライン オプションの詳細については、「dtexec ユーティリティ」を参照してください。
タブ
オプション
パッケージ
これらは、SQL Server または SSIS パッケージ ストアに格納されるパッケージのタブ オプションです。
サーバー
SQL Server または Integration Services サービスのデータベース サーバー インスタンスの名前を入力または選択します。
Windows 認証を使用する
Microsoft Windows ユーザー アカウントを使用してサーバーにログオンする場合に、このオプションを選択します。
SQL Server 認証を使用する
指定されたログイン名とパスワードを使用して、信頼関係の低い接続から接続した場合、SQL Server は SQL Server ログイン アカウントが設定されているかどうか、指定されたパスワードが以前に記録されたパスワードと一致しているかどうかを確認することで認証を行います。 SQL Server がログイン アカウントを見つけられない場合、認証は失敗し、ユーザーにエラー メッセージが表示されます。
ユーザー名
パスワード
パッケージ
参照ボタンをクリックして、パッケージを選択します。
オブジェクト エクスプローラーの [格納されたパッケージ] ノードの下にあるフォルダー内のパッケージを選択します。
パッケージ
これらは、ファイル システムに格納されるパッケージのタブ オプションです。
パッケージ
パッケージ ファイルのフル パスを入力するか、参照ボタンをクリックしてパッケージを選択します。
構成
特定の構成でパッケージを実行するための XML 構成ファイルを追加します。 パッケージのプロパティの値を実行時に更新するために、パッケージ構成を使用します。
このオプションは、dtexec の /ConfigFile オプションに対応しています。
パッケージ構成が適用されるしくみについては、「パッケージ構成」を参照してください。 パッケージ構成を作成する方法の詳細については、「パッケージ構成を作成する」を参照してください。
コマンド ファイル
dtexec と共に実行する追加のオプションを、別のファイル内に指定します。
たとえば、/Dump errorcode オプションが記述されたファイルを含めると、パッケージの実行中に 1 つ以上の指定されたイベントが発生した場合に、デバッグ ダンプ ファイルを生成することができます。
複数のファイルを作成し、[コマンド ファイル] オプションを使用して適切なファイルを指定することで、異なるオプションのセットでパッケージを実行できます。
[コマンド ファイル] オプションは、dtexec の /CommandFile オプションに対応しています。
データ ソース
パッケージに含まれている接続マネージャーを表示します。 接続文字列を変更するには、接続マネージャーをクリックして、接続文字列をクリックします。
このオプションは、dtexec の /Connection オプションに対応しています。
実行オプション
- 検証時に警告が発生したらパッケージを失敗とする
警告メッセージをエラーと見なすかどうかを示します。 このオプションを選択した場合、検証中に警告が発生すると、パッケージは失敗します。 このオプションは、dtexec の /WarnAsError オプションに対応しています。
- [パッケージを実行せずに検証する]
検証フェーズ後にパッケージの実行を停止して、実際にはパッケージを実行しないかどうかを示します。 このオプションは、dtexec の /Validate オプションに対応しています。
- MacConcurrentExecutables プロパティを上書きする
パッケージが同時に実行できる実行可能ファイルの数を指定します。 値を -1 にすると、パッケージが実行できる実行可能ファイルの最大数が、パッケージを実行しているコンピューターのプロセッサの合計数に 2 を加えた数と等しくなることを意味します。 このオプションは、dtexec の /MaxConcurrent オプションに対応しています。
- [パッケージのチェックポイントを有効にする]
パッケージの実行中にパッケージがチェックポイントを使用するかどうかを示します。 詳細については、「チェックポイントを使用してパッケージを再開する」を参照してください。
このオプションは、dtexec の /CheckPointing オプションに対応しています。
- [再開オプションを上書きする]
パッケージの CheckpointUsage プロパティに新しい値が設定されるかどうかを示します。 [再開オプション] ボックスの一覧から値を選択します。
このオプションは、dtexec の /Restart オプションに対応しています。
- 32 ビット ランタイムを使用する
64 ビット バージョンの SQL Server および SQL Server エージェントがインストールされている 64 ビット コンピューター上で、32 ビット バージョンの dtexec ユーティリティを使用してパッケージを実行するかどうかを示します。
たとえば、パッケージが 64 ビット バージョンでは使用できないネイティブ OLE DB プロバイダーを使用している場合に、32 ビット バージョンの dtexec を使用してパッケージを実行する必要がある場合があります。 詳細については、「64 ビット コンピューター上の Integration Services に関する注意点」を参照してください。
既定では、ジョブ ステップの種類として [SQL Server Integration Services パッケージ] を選択した場合、SQL Server エージェントはシステムによって自動的に呼び出されるバージョンの dtexec ユーティリティを使用してパッケージを実行します。 システムは、コンピューター プロセッサと、コンピューター上で実行されている SQL Server および SQL Server エージェントのバージョンに応じて、32 ビットまたは 64 ビット バージョンのユーティリティを呼び出します。
ログ記録
ログ プロバイダーをパッケージの実行に関連付けます。
- テキスト ファイルの SSIS ログ プロバイダー
ログ エントリを ASCII テキスト ファイルに書き込みます。
- SQL Server の SSIS ログ プロバイダー
ログ エントリを MSDB データベースの sysssislog テーブルに書き込みます。
- SQL Server Profiler の SSIS ログ プロバイダー
SQL Server Profiler を使用して表示できるトレースを書き込みます。
- Windows イベント ログの SSIS ログ プロバイダー
ログ エントリを Windows イベント ログのアプリケーション ログに書き込みます。
- XML ファイルの SSIS ログ プロバイダー
ログ ファイルを XML ファイルに書き込みます。
テキスト ファイル、XML ファイル、および SQL Server Profiler のログ プロバイダーには、パッケージに含まれているファイル接続マネージャーを選択しています。 SQL Server ログ プロバイダーには、パッケージに含まれている OLE DB 接続マネージャーを選択しています。
このオプションは、dtexec の /Logger オプションに対応しています。
値の設定
パッケージのプロパティ設定をオーバーライドします。 [プロパティ] ボックスで、[プロパティのパス] および [値] 列に値を入力します。 1 つのプロパティに値を入力すると、[プロパティ] ボックスに空の行が表示され、他のプロパティの値を入力できるようになります。
[プロパティ] ボックスからプロパティを削除するには、行をクリックし、[削除] をクリックします。
プロパティ パスを見つけるには、次のいずれかの操作を行います。
XML 構成ファイル (*.dtsconfig) からプロパティ パスをコピーします。 パスは、ファイルの Configuration セクションに PATH 属性の値として記述されています。 次に示すのは、MaximumErrorCount プロパティのパスの例です。
\Package.Properties[MaximumErrorCount]
パッケージ構成ウィザードを実行し、最後の [ウィザードの完了] ページからプロパティ パスをコピーします。 その後、ウィザードの実行を取り消すことができます。
検証
- [署名付きパッケージのみ実行する]
パッケージの署名が確認されるかどうかを示します。 パッケージが署名されていないか、署名が有効でない場合、パッケージは失敗します。 このオプションは、dtexec の /VerifySigned オプションに対応しています。
- パッケージのビルドを検証する
パッケージのビルド番号を、このオプションの横にある [ビルド] ボックスに入力されたビルド番号と比較して検証するかどうかを示します。 不一致が発生した場合、パッケージは実行されません。 このオプションは、dtexec の /VerifyBuild オプションに対応しています。
- [パッケージ ID を確認する]
パッケージの GUID を、このオプションの横にある [パッケージ ID] ボックスに入力されたパッケージ ID と比較して検証するかどうかを示します。 このオプションは、dtexec の /VerifyPackageID オプションに対応しています。
- [バージョン ID を確認する]
パッケージのバージョン GUID を、このオプションの横にある [バージョン ID] ボックスに入力されたバージョン ID と比較して検証するかどうかを示します。 このオプションは、dtexec の /VerifyVersionID オプションに対応しています。
コマンド ライン
dtexec のコマンド ライン オプションを変更します。 オプションの詳細については、「dtexec ユーティリティ」を参照してください。
ヒント コマンド ラインをコマンド プロンプト ウィンドウにコピーし、dtexec を追加して、コマンド ラインからパッケージを実行できます。 これは、コマンド ライン テキストを生成する簡単な方法です。
- [元のオプションを復元する]
[ジョブ ステップのプロパティ] ダイアログ ボックスの [パッケージ]、[構成]、[コマンド ファイル]、[データ ソース]、[実行オプション]、[ログ記録]、[値の設定]、[検証] の各タブで設定したコマンド ライン オプションを使用します。
- コマンド ラインを手動で編集する
[コマンド ライン] ボックスに追加のコマンド ライン オプションを入力します。
[OK] をクリックして変更をジョブ ステップに保存する前に、[元のオプションを復元する] をクリックすると、[コマンド ライン] ボックスに入力したすべての追加のオプションを削除できます。
[OK] をクリックして設定を保存し、[新しいジョブ ステップ] ダイアログ ボックスを閉じます。
注 SSIS カタログに格納されるパッケージの場合、未解決のパラメーターまたは接続マネージャーのプロパティ設定があると、[OK] ボタンが無効になります。 設定が未解決になるのは、パラメーターまたはプロパティを設定するためにサーバー環境変数に含まれている値を使用し、次のいずれかの条件が満たされる場合です。
[構成] タブの [環境] チェック ボックスがオフになっている。
変数を含むサーバー環境が、[構成] タブのリスト ボックスで選択されていない。
ジョブ ステップのスケジュールを作成するには、[ページの選択] ペインの [スケジュール] をクリックします。 スケジュールを構成する方法の詳細については、「ジョブのスケジュール設定」を参照してください。
ヒント スケジュールに名前を付けるときには、他の SQL Server エージェントのスケジュールとの区別がより簡単にできるように、一意でわかりやすい名前を使用してください。