dtexec ユーティリティ

更新 : 2008 年 11 月 17 日

dtexec コマンド プロンプト ユーティリティは、SQL Server 2005 Integration Services (SSIS) パッケージの設定および実行に使用します。dtexec ユーティリティを使用すると、接続、プロパティ、変数、ログ記録、進行状況インジケータなど、パッケージの構成と実行に関するすべての機能にアクセスできます。また dtexec ユーティリティでは、Microsoft SQL Server データベース、SSIS サービス、およびファイル システムの 3 つの変換元からパッケージを読み込むことができます。

ms162810.note(ja-jp,SQL.90).gifメモ :
64 ビット コンピュータでは、32 ビット版と 64 ビット版の両方の dtexec ユーティリティ (dtexec.exe) が Integration Services によってインストールされます。

このユーティリティの実行には、4 つのフェーズがあります。それらのフェーズを次に示します。

  1. コマンド初期フェーズ : コマンド プロンプトによって、指定されたオプションおよび引数のリストが読み取られます。/? オプションまたは /HELP オプションが指定されている場合、後続のフェーズはすべてスキップされます。
  2. パッケージ読み込みフェーズ : /SQL/FILE、または /DTS オプションによって指定されたパッケージが読み込まれます。
  3. 構成フェーズ : 次の順序でオプションが処理されます。
    • パッケージのフラグ、変数、およびプロパティを設定するオプション
    • パッケージのバージョン番号およびビルドを確認するオプション
    • レポートなど、ユーティリティの実行時の動作を構成するオプション
  4. 検証および実行フェーズ : パッケージを実行します。/VALIDATE オプションが指定されている場合は、実行せずに検証されます。

dtexec ユーティリティから返される終了コード

パッケージの実行時、dtexec は終了コードを返すことができます。終了コードは、ERRORLEVEL 変数の値を設定する場合に使用されます。この変数の値は、バッチ ファイル内の条件ステートメントや分岐ロジックでテストできます。次の表は、終了時に dtexec ユーティリティが設定できる値を示しています。

説明

0

パッケージが正常に実行されました。

1

パッケージが失敗しました。

3

パッケージはユーザーによってキャンセルされました。

4

ユーティリティは要求されたパッケージを見つけられません。パッケージが見つかりませんでした。

5

ユーティリティは要求されたパッケージを読み込めません。パッケージを読み込めませんでした。

6

ユーティリティは、コマンド ラインに構文の内部エラーまたはセマンティック エラーを検出しました。

ユーティリティの構文規則

すべてのオプションは、スラッシュ (/) またはマイナス記号 (-) で始まる必要があります。ここに示すオプションはスラッシュ (/) で始まりますが、マイナス記号 (-) を代わりに使用することもできます。

引数に空白文字を含める場合は、引数を引用符で囲む必要があります。引数を引用符で囲まないと、空白文字を引数に含めることはできません。

引用符で囲まれた文字列内に二重引用符がある場合は、単一引用符がエスケープされていることを表します。

パスワードを除いて、オプションおよび引数では大文字と小文字が区別されません。

xp_cmdshell での dtexec の使用

xp_cmdshell プロンプトで dtexec を実行できます。次の例では、UpsertData.dtsx というパッケージを実行し、リターン コードを無視します。

EXEC xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'

次の例では、同じパッケージを実行し、リターン コードを取得します。

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'
ms162810.note(ja-jp,SQL.90).gif重要 :
Microsoft SQL Server 2005 を新しくインストールした場合、xp_cmdshell オプションは既定により無効になっています。このオプションを有効にするには、セキュリティ構成ツールを使用するか、sp_configure システム ストアド プロシージャを実行します。詳細については、「xp_cmdshell オプション」を参照してください。

構文

dtexec /option [value] [/option [value]]...

パラメータ

SQL Server 2000 dtsrun ユーティリティで使用されるコマンド プロンプト オプションと、SQL Server 2005 dtexec ユーティリティで使用されるコマンド プロンプト オプションのマップ方法については、「dtsrun から dtexec へのコマンド オプションのマッピング」を参照してください。これらのユーティリティのアップグレード方法に関する推奨事項については、「dtsrun コマンド ラインのアップグレード」を参照してください。

オプション

説明

/? [option_name]

(省略可)。コマンド プロンプトのオプション、または指定された option_name のヘルプを表示して、ユーティリティを終了します。

option_name 引数を指定すると、dtexec によって SQL Server Books Online が起動され、「dtexec ユーティリティ」トピックが表示されます。

**/CheckF[ile]**filespec

(省略可)。パッケージの CheckpointFileName プロパティが、filespec で指定されたパスおよびファイルに設定されます。このファイルは、パッケージが再起動されたときに使用されます。このオプションが指定されていて、ファイル名の値が指定されていない場合、パッケージの CheckpointFileName には空の文字列が設定されます。このオプションが指定されない場合、パッケージの値は保持されます。

/CheckP[ointing]{on\off}

(省略可)。パッケージの実行時にパッケージがチェックポイントを使用するかどうかを決定する値を設定します。値 on を指定すると、失敗したパッケージが再実行されます。失敗したパッケージが再実行される場合、ランタイム エンジンは、障害点からパッケージを再起動するためにチェックポイント ファイルを使用します。

オプションが値なしで宣言されている場合、既定値は on です。値が on に設定されていて、チェックポイント ファイルが見つからない場合、パッケージの実行は失敗します。このオプションが指定されない場合、パッケージの値セットは保持されます。詳細については、「パッケージでのチェックポイントの使用」を参照してください。

dtexec の /CheckPointing on オプションを使用すると、パッケージの SaveCheckpoints プロパティを True に設定した場合、および CheckpointUsage プロパティを Always に設定した場合と同等の効果が得られます。

**/Com[mandFile]**filespec

(省略可)。ユーティリティのコマンド初期フェーズ時に、filespec で指定されたファイルを開き、ファイルに EOF が見つかるまでそのファイルの変換元オプションの処理を続行します。filespec に指定されるのは、追加の dtexec コマンド オプションを含んでいるテキスト ファイルです。filespec 引数には、パッケージの実行に関連付けるコマンド ファイルのファイル名とパスを指定します。

**/Conf[igFile]**filespec

(省略可)。値を抽出する構成ファイルを指定します。このオプションを使用すると、パッケージのデザイン時に指定された構成と異なる実行時構成を設定できます。パッケージを実行するには、XML 構成ファイルに異なる構成設定を格納してから、/ConfigFile オプションを使用して設定を読み込む必要があります。

ms162810.note(ja-jp,SQL.90).gifメモ :

/ConfigFile オプションが指定する構成ファイルの場所が、パッケージが指定する場所と異なる場合は、dtexec ユーティリティに警告が表示される可能性があります。この警告は無視できます。/ConfigFile オプションが有効なファイル パスを指定すれば、dtexec ユーティリティは、/ConfigFile オプションが指定する構成ファイルを見つけて使用します。

**/Conn[ection]**id_or_name;connection_string [[;id_or_name;connection_string]...]

(省略可)。指定した名前または GUID の接続マネージャがパッケージ内にあり、接続文字列が指定されていることを示します。

このオプションでは、接続マネージャの名前または GUID を指定する id_or_name 引数と、有効な接続文字列を指定する connection_string 引数の両方のパラメータが必須です。詳細については、「接続マネージャ」を参照してください。

/Cons[oleLog] [[displayoptions];[list_options;src_name_or_guid]...]

(省略可)。パッケージの実行中に、指定されたログ エントリをコンソールに表示します。このオプションを省略した場合、ログ エントリはコンソールに表示されません。表示を制限するパラメータなしでオプションが指定された場合、すべてのログ エントリが表示されます。コンソールに表示されるエントリを制限するには、displayoptions パラメータを使用して表示する列を指定し、list_options パラメータを使用してログ エントリの種類を制限します。

displayoptions の値は次のとおりです。

  • N (名前)
  • C (コンピュータ)
  • O (オペレータ)
  • S (変換元の名前)
  • G (変換元の GUID)
  • X (実行 GUID)
  • M (メッセージ)
  • T (開始時刻および終了時刻)

list_options の値は次のとおりです。

  • I - 包含一覧を指定します。指定された変換元の名または変換元の GUID のみがログに記録されます。
  • E - 除外一覧を指定します。指定された変換元の名前または変換元の GUID はログに記録されません。
  • src_name_or_guid パラメータには、含めるまたは除外するイベント名、変換元の名前、変換元の GUID を指定します。

同じコマンド プロンプトで複数の /ConsoleLog オプションを使用する場合、次のような相互作用があります。

  • 表示の順序には影響しません。
  • 包含一覧がコマンド ラインに指定されていない場合、すべての種類のログ エントリに対して除外一覧が適用されます。
  • 包含一覧がコマンド ラインに指定されている場合、すべての包含一覧の集合に対して除外一覧が適用されます。

/ConsoleLog オプションの例については、「解説」を参照してください。

**/D[ts]**package_path

(省略可)。SSIS パッケージ ストアからパッケージを読み込みます。package_path 引数には、SSIS パッケージの相対パスを指定します。このパスは SSIS パッケージ ストアのルートから始まり、SSIS パッケージの名前を含むパスです。package_path 引数に指定するパスまたはファイル名に空白文字を含める場合は、package_path 引数を引用符で囲む必要があります。

/DTS オプションは、/File オプションまたは /SQL オプションと共に使用することはできません。複数のオプションが指定された場合、dtexec は失敗します。

/De[crypt] password

(省略可)。パスワードが暗号化されているパッケージを読み込むときに使用する暗号化解除用パスワードを設定します。

**/F[ile]**filespec

(省略可)。ファイル システムに保存されているパッケージを読み込みます。filespec 引数には、パッケージのパスとファイル名を指定します。汎用名前付け規則 (UNC) 形式のパス、またはローカル パスのどちらかでパスを指定できます。filespec 引数に指定するパスまたはファイル名に空白文字を含める場合は、filespec 引数を引用符で囲む必要があります。

/File オプションは、/DTS オプションまたは /SQL オプションと共に使用することはできません。複数のオプションが指定された場合、dtexec は失敗します。

/H[elp] [option_name]

(省略可)。オプションのヘルプ、または指定された option_name のヘルプを表示して、ユーティリティを終了します。

option_name 引数を指定すると、dtexec によって SQL Server Books Online が起動され、「dtexec ユーティリティ」トピックが表示されます。

**/L[ogger]**classid_orprogid;configstring

(省略可)。1 つまたは複数のログ プロバイダを SSIS パッケージの実行と関連付けます。classid_orprogid パラメータには、ログ プロバイダを指定します。指定できるのはクラス GUID です。configstring は、ログ プロバイダを構成するために使用する文字列です。

使用できるログ プロバイダは次のとおりです。

  • テキスト ファイル:
    • ProgID: DTS.LogProviderTextFile.1
    • ClassID: {59B2C6A5-663F-4C20-8863-C83F9B72E2EB}
  • SQL Server Profiler:
    • ProgID: DTS.LogProviderSQLProfiler.1
    • ClassID: {5C0B8D21-E9AA-462E-BA34-30FF5F7A42A1}
  • SQL Server:
    • ProgID: DTS.LogProviderSQLServer.1
    • ClassID: {6AA833A1-E4B2-4431-831B-DE695049DC61}
  • Windows イベント ログ:
    • ProgID: DTS.LogProviderEventLog.1
    • ClassID: {97634F75-1DC7-4F1F-8A4C-DAF0E13AAA22}
  • XML ファイル:
    • ProgID: DTS.LogProviderXMLFile.1
    • ClassID: {AFED6884-619C-484F-9A09-F42D56E1A7EA}

**/M[axConcurrent]**concurrent_executables

(省略可)。パッケージが同時に実行できる実行可能ファイルの数を指定します。負以外の整数または -1 を指定する必要があります。-1 の値は、SSIS が同時に実行できる実行可能ファイルの最大数が、パッケージを実行するコンピュータのプロセッサの合計数に 2 を加えたものと等しいことを意味します。

**/P[assword]**password

(省略可)。SQL Server 認証によって保護されているパッケージの取得を可能にします。このオプションは、/User オプションと共に使用します。/Password オプションを省略して /User オプションを使用する場合、空白のパスワードが使用されます。password 値は引用符で囲むことができます。

ms162810.security(ja-jp,SQL.90).gifセキュリティ メモ :

可能な場合は、Windows 認証を使用します。

/Remcomment

(省略可)。コマンド プロンプトまたはコマンド ファイルにコメントを含めます。引数は省略可能です。comment の値は、引用符で囲むか、空白を含まない文字列を指定する必要があります。引数を指定しない場合、空白行が挿入されます。comment の値はコマンド初期フェーズで破棄されます。

**/Rep[orting]**level [;event_guid_or_name[;event_guid_or_name[...]]

(省略可)。レポートするメッセージの種類を指定します。level に使用できるレポート オプションは次のとおりです。

N   レポートしません。

E   エラーがレポートされます。

W   警告がレポートされます。

I   情報メッセージがレポートされます。

C   カスタム イベントがレポートされます。

D   データ フロー タスク イベントがレポートされます。

P   進行状況がレポートされます。

V   詳細がレポートされます。

V および N の引数は、他のすべての引数と同時には使用できないため、単独で指定する必要があります。/Reporting オプションが指定されない場合、既定のレベルは E (エラー)、W (警告)、および P (進行状況) になります。

すべてのイベントの先頭には、"YY/MM/DD HH:MM:SS" の形式のタイムスタンプが付きます。また使用可能な場合は、GUID または表示名も付加されます。

省略可能なパラメータの event_guid_or_name には、ログ プロバイダに関する例外のリストを指定します。この例外で指定されるイベントは、ログに記録されません。指定されないイベントがログに記録されます。

既定でログに記録されないイベントは、除外する必要はありません。

/Res[tart] {deny | force | ifPossible}

(省略可)。パッケージの CheckpointUsage プロパティの新しい値を指定します。パラメータの意味は次のとおりです。

Deny   CheckpointUsage プロパティを DTSCU_NEVER に設定します。

Force   CheckpointUsage プロパティを DTSCU_ALWAYS に設定します。

ifPossible   CheckpointUsage プロパティを DTSCU_IFEXISTS に設定します。

値が指定されない場合は、既定値の force が使用されます。

/SetpropertyPath;value

(省略可)。パッケージ内の変数、プロパティ、コンテナ、ログ プロバイダ、Foreach 列挙子、または接続の構成を上書きします。このオプションを指定すると、/SETpropertyPath 引数を、指定された値に変更します。複数の /SET オプションを指定できます。

パッケージ構成ウィザードを実行して、propertyPath の値を確認できます。最後の [ウィザードの完了] ページに選択したアイテムのパスが表示されるので、これをコピーして貼り付けることができます。この操作のみが目的でウィザードを使用した場合は、パスをコピーした後、ウィザードをキャンセルしてください。

以下に、パッケージを実行し、変数に対して新しい値を指定する例を示します。

dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue

**/Ser[ver]**server

(省略可)。/SQL オプションまたは /DTS オプションが指定されている場合、このオプションにはパッケージを取得するサーバーの名前を指定します。/Server オプションを省略して /SQL または /DTS オプションを指定した場合、ローカル サーバーに対してパッケージの実行が試行されます。server_instance 値は引用符で囲むことができます。

**/SQ[L]**package_path

SQL Server に格納されているパッケージを読み込みます。package_path 引数には、取得するパッケージの名前を指定します。パス名を指定する場合、パス内のフォルダの最後には円記号 ("\") を指定します。package_path 値は引用符で囲むことができます。package_path 引数に指定するパスまたはファイル名に空白文字を含める場合は、package_path 引数を引用符で囲む必要があります。

/User/Password、および /Server オプションは、/SQL オプションと共に使用できます。

/User オプションを省略した場合、パッケージへのアクセスに Windows 認証が使用されます。/User オプションを使用する場合、指定する /User ログイン名は SQL Server 認証に関連付けられます。

/Password オプションは、/User オプションを指定した場合にのみ使用できます。/Password オプションを使用する場合、パッケージは指定されたユーザー名とパスワード情報を使用してアクセスされます。/Password オプションを省略した場合、空白のパスワードが使用されます。

セキュリティ メモ   可能な場合は、Windows 認証を使用します。

/Server オプションを省略した場合、SQL Server の既定のローカル インスタンスが使用されます。

/SQL オプションは、/DTS または /File オプションと共に使用することはできません。複数のオプションが指定された場合、dtexec は失敗します。

/Su[m]

(省略可)。後続のコンポーネントが受け取る行数を示す増分カウンタを表示します。

**/U[ser]**user_name

(省略可)。SQL Server 認証によって保護されているパッケージの取得を可能にします。このオプションは、/SQL オプションが指定されている場合にのみ使用されます。user_name 値は引用符で囲むことができます。

セキュリティ メモ   可能な場合は、Windows 認証を使用します。

/Va[lidate]

(省略可)。検証フェーズ後、パッケージの実行を停止します。パッケージは実際には実行されません。検証を行う場合、/WarnAsError オプションを指定すると、dtexec は警告をエラーとして処理するので、検証中に警告が発生した場合にパッケージが失敗します。

**/VerifyB[uild]**major[;minor[;build]]

(省略可)。検証フェーズ中に、パッケージのビルド番号を、majorminor、および build 引数に指定されたビルド番号に対して検証します。不一致が発生した場合、パッケージは実行されません。

値は長整数型です。引数は次の 3 つの形式のいずれかになります。major の値は必須です。

  • major
  • major;minor
  • major; minor; build

**/VerifyP[ackageID]**packageID

(省略可)。実行するパッケージの GUID を、package_id 引数に指定された値と比較して検証します。

/VerifyS[igned]

(省略可)。指定した場合、署名されていないパッケージは失敗します。

**/VerifyV[ersionID]**versionID

(省略可)。パッケージの検証フェーズ中に、実行されるパッケージのバージョン GUID を version_id 引数に指定された値と比較して検証します。

/W[arnAsError]

(省略可)。パッケージは警告をエラーと判断するので、検証中に警告が発生した場合にはパッケージが失敗します。検証中に警告が発生せず、/Validate オプションが指定されていない場合、パッケージは実行されます。

解説

コマンド オプションの指定順序は、パッケージの実行方法に影響します。

  • オプションは、コマンド ライン上で指定されている順に処理されます。コマンド ファイルは、コマンド ラインで指定されているとおりに読み取られます。コマンド ファイル内のコマンドも指定されている順に処理されます。
  • 同じオプション、パラメータ、または変数が、同じコマンド ライン ステートメントに複数指定されている場合は、最後に指定されているものが優先されます。
  • /Set および /ConfigFile オプションは、指定されている順に処理されます。

パッケージの実行

Windows 認証を使用する SQL Server に保存されている SSIS パッケージを実行するには、次のコードを使用します。

dtexec /sq pkgOne /ser productionServer

SSIS パッケージ ストアの [ファイル システム] フォルダに保存されている SSIS パッケージを実行するには、次のコードを使用します。

dtexec /dts "\File System\MyPackage"

Windows 認証が使用されていて、SQL Server に保存されているパッケージを実行せずに検証するには、次のコードを使用します。

dtexec /sq pkgOne /ser productionServer /va

ファイル システムに保存されている SSIS パッケージを実行するには、次のコードを使用します。

dtexec /f "c:\pkgOne.dtsx" 

ファイル システムに保存されている SSIS パッケージの実行、およびログ オプションの指定を行うには、次のコードを使用します。

dtexec /f "c:\pkgOne.dtsx" /l "DTS.LogProviderTextFile;c:\log.txt"

Windows 認証が使用され、SQL Server の既定のローカル インスタンスに保存されているパッケージの実行、および実行前にバージョンの確認を行うには、次のコードを使用します。

dtexec /sq pkgOne /verifyv {c200e360-38c5-11c5-11ce-ae62-08002b2b79ef}

ファイル システムに保存されているが、外部で構成されている SSIS パッケージを実行するには、次のコードを使用します。

dtexec /f "c:\pkgOne.dtsx" /conf "c:\pkgOneConfig.cfg"
ms162810.note(ja-jp,SQL.90).gifメモ :
/SQL、/DTS、または /FILE オプションの package_path または filespec 引数は、パスまたはファイル名に空白文字が含まれる場合、引用符で囲む必要があります。引数を引用符で囲まないと、空白文字を引数に含めることはできません。

ログ オプション

ログ エントリの種類が A、B、C の 3 つある場合、次のように、パラメータを指定せずに ConsoleLog オプションを使用すると、3 つすべてのログの種類がすべてのフィールドと共に表示されます。

/CONSOLELOG

次のオプションを指定すると、すべてのログの種類が、Name 列および Message 列のみと共に表示されます。

/CONSOLELOG NM

次のオプションを指定すると、A の種類のログ エントリのみが、すべての列と共に表示されます。

/CONSOLELOG I;LogEntryTypeA

次のオプションを指定すると、A の種類のログ エントリのみが Name 列および Message 列と共に表示されます。

/CONSOLELOG NM;I;LogEntryTypeA

次のオプションを指定すると、A および B の種類のログ エントリが表示されます。

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB

複数の ConsoleLog オプションを指定すると、同じ結果を得ることができます。

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB

パラメータなしで ConsoleLog オプションを指定すると、すべてのフィールドが表示されます。次の指定に list_options パラメータを含めると、A の種類のログ エントリのみがすべてのフィールドと共に表示されます。

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG

次の例では、種類 A のログ エントリを除くすべてのログ エントリ (種類 B と C) が表示されます。

/CONSOLELOG E;LogEntryTypeA

次のように複数の ConsoleLog オプションを使用し、単一のログ エントリを除外することで、前の例と同じ結果が得られます。

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG
/CONSOLELOG E;LogEntryTypeA /CONSOLELOG E;LogEntryTypeA
/CONSOLELOG E;LogEntryTypeA;LogEntryTypeA

ログ ファイルの種類が包含一覧と除外一覧の両方に指定されている場合、そのログ ファイルは除外されるため、次の例ではログ メッセージは表示されません。

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA

SET オプション

パッケージのプロパティ値、またはコマンド ラインからパッケージを起動するときの変数値を変更できる /SET オプションの使用方法を次に示します。

/SET \package\DataFlowTask.Variables[User::MyVariable].Value;newValue

参照

概念

dtsrun から dtexec へのコマンド オプションのマッピング

その他の技術情報

Business Intelligence Development Studio でパッケージを実行する方法
64 ビット コンピュータ上での Integration Services の使用上の注意

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2008 年 11 月 17 日

変更内容 :
  • /ConfigFile オプションが指定する構成ファイルが、パッケージが指定するファイルと異なる場合は、dtexec ユーティリティに警告が表示されるという警告が追加されました。

2006 年 7 月 17 日

変更内容 :
  • エラー コードを詳細に説明。
  • エラー コードを取得する構文の例を追加。
  • CheckPointing on オプションと UI プロパティ CheckpointUsage の対応関係を記載。

2006 年 4 月 14 日

変更内容 :
  • 空白文字を含むパラメータを引用符で囲む必要があることを示す注記を記載。
  • ファイル システムに保存される SSIS パッケージの実行方法のサンプルを追加。

2005 年 12 月 5 日

変更内容 :
  • xp_cmdshell が既定では無効になっているという重要な注記を追加。