dtutil ユーティリティ

更新 : 2006 年 7 月 17 日

dtutil コマンド プロンプト ユーティリティを使用すると、SQL Server 2005 Integration Services (SSIS) パッケージを管理できます。このユーティリティを使用して、パッケージのコピー、移動、削除を行ったり、パッケージの存在を確認することができます。これらの操作は SSIS パッケージ上で実行できます。このパッケージは、Microsoft SQL Server データベース、SSIS パッケージ ストア、およびファイル システムの 3 つの場所のいずれかに格納されます。パッケージのストレージ型は /SQL/FILE、および /DTS オプションで指定します。

ms162820.note(ja-jp,SQL.90).gifメモ :
64 ビット コンピュータでは、32 ビット版と 64 ビット版の両方の dtutil ユーティリティ (dtexec.exe) が Integration Services によってインストールされます。
ms162820.note(ja-jp,SQL.90).gifメモ :
Integration Services のインスタンスに接続している場合、dtutil によって実行される操作の多くは、SQL Server Management Studio で確認しながら実行することもできます。詳細については、「Integration Services パッケージの管理」を参照してください。

オプションを入力する順序は任意です。パイプ (|) 文字は OR 演算子を表し、利用可能な値を示すために使用されます。OR パイプで区切られたオプションのうちの 1 つを使用する必要があります。

すべてのオプションは、スラッシュ (/) またはマイナス記号 (-) で始まる必要があります。

引数は、引用符で囲むか、空白を含まない文字列を指定する必要があります。

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

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

構文

 dtutil /option [value] [/option [value]]...

パラメータ

オプション

説明

/?

コマンド プロンプト オプションを表示します。

/C[opy] location;destinationPathandPackageName

SSIS パッケージに対するコピー操作を指定します。このパラメータを使用するには、先に /FI/SQ、または /DT オプションを使用してパッケージの場所を指定し、次に、コピー先の場所とコピー先のパッケージ名を指定します。destinationPathandPackageName 引数には、SSIS パッケージのコピー先を指定します。コピー先の locationSQL の場合は、DestUserDestPassword、および DestServer 引数もコマンドで指定する必要があります。

Copy 操作でコピー先に既存のパッケージが見つかった場合、dtutil によって、パッケージの上書きを確認するプロンプトが表示されます。パッケージを上書きする場合は Y、プログラムを終了する場合は N と応答します。コマンドに Quiet 引数が含まれている場合は、プロンプトは表示されず、既存のパッケージはすべて上書きされます。

/Dec[rypt] password

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

/Del[ete]

SQLDTS、または FILE オプションによって指定されたパッケージを削除します。dtutil がパッケージを削除できない場合、プログラムは終了します。

/DestP[assword] password

SQL Server 認証を使用している SQL Server インスタンスに接続するために SQL オプションで使用されるパスワードを指定します。コマンド ラインで DTSUSER オプションを指定せずに DESTPASSWORD を指定すると、エラーが生成されます。

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

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

/DestS[erver] server_instance

保存先が SQL Server となる操作で使用されるサーバー名を指定します。これは、SSIS パッケージの保存時に、ローカル以外のサーバーまたは既定以外のサーバーを識別するために使用されます。コマンド ラインで SQL Server と関連する操作を指定せずに DESTSERVER を指定すると、エラーになります。このオプションとの組み合わせが適しているのは、SIGN SQLCOPY SQL、または MOVE SQL オプションなどの操作を行うコマンドです。

SQL Server インスタンス名は、円記号とインスタンス名をサーバー名に追加することによって指定します。

/DestU[ser] username

SQL Server 認証を使用する SQL Server インスタンスへ接続するために、SIGN SQL オプション、COPY SQL オプション、MOVE SQL オプションで使用するユーザー名を指定します。コマンド ラインで SIGN SQL オプション、COPY SQL オプション、または MOVE SQL オプションを指定せずに DESTUSER を指定すると、エラーになります。

/DT[S] filespec

このオプションは、実行される SSIS パッケージが SSIS パッケージ ストアに存在することを指定します。filespec 引数は相対パスであるため、SSIS パッケージ ストアのルートから始まるパスを指定します。

DT[S] オプションが、次のオプションのいずれかと同じコマンド ライン上に指定された場合、DTEXEC_DTEXECERROR が返されます。

  • FILE
  • SQL
  • SOURCEUSER
  • SOURCEPASSWORD
  • SOURCESERVER

/En[crypt] {SQL | FILE}; Path;ProtectionLevel[;password]

(省略可)。読み込まれたパッケージを指定された保護レベルおよびパスワードで暗号化し、それを Path で指定された場所に保存します。パスワードが必要かどうかは、ProtectionLevel で判断されます。

  • SQL - Path には保存先となるパッケージ名を指定します。
  • FILE - Path にはパッケージの完全修飾パスとファイル名を指定します。
  • DTS - このオプションは現在サポートされていません。

ProtectionLevel オプションには以下のレベルがあります。

Level 0: 重要な情報を切り離します。

Level 1: ローカル ユーザーの資格情報を使用して重要な情報を暗号化します。

Level 2: 必要なパスワードを使用して重要な情報を暗号化します。

Level 3: 必要なパスワードを使用してパッケージを暗号化します。

Level 4: ローカル ユーザーの資格情報を使用してパッケージを暗号化します。

Level 5: パッケージは SQL Server ストレージの暗号化を使用します。

/Ex[ists]

(省略可)。パッケージが存在するかどうかを判断するために使用されます。dtutil は、SQL オプション、DTS オプション、または FILE オプションのいずれかによって指定されたパッケージを検索します。dtutil が指定されたパッケージを見つけることができない場合、DTEXEC_DTEXECERROR が返されます。

/FC[reate] {SQL | DTS};ParentFolderPath;NewFolderName

(省略可)。NewFolderName で指定された名前で新しいフォルダを作成します。新しいフォルダの場所は、ParentFolderPath によって指定されます。

/FDe[lete] {SQL | DTS}[;ParentFolderPath;FolderName]

(省略可)。FolderName で指定された名前のフォルダを SQL Server または SSIS から削除します。削除するフォルダの場所は、ParentFolderPath で指定されます。

/FDi[rectory] {SQL | DTS};FolderPath[;S]

(省略可)。SSIS または SQL Server 上にあるフォルダの内容 (フォルダとパッケージの両方) を一覧表示します。省略可能な FolderPath パラメータには、内容を表示するフォルダを指定します。S パラメータは、FolderPath で指定されたフォルダのサブフォルダの内容を表示する場合に指定します。

/FE[xists ] {SQL | DTS};FolderPath

(省略可)。指定されたフォルダが SSIS 上または SQL Server 上にあるかどうかを確認します。FolderPath パラメータは、確認するフォルダのパスおよび名前です。

/Fi[le] filespec

このオプションは、実行される SSIS パッケージがファイル システムに存在することを指定します。filespec の値は、汎用名前付け規則 (UNC) パスまたはローカル パスのどちらかで指定できます。

File オプションが、次のオプションのいずれかと同じコマンド ライン上に指定された場合、DTEXEC_DTEXECERROR が返されます。

  • DTS
  • SQL
  • SOURCEUSER
  • SOURCEPASSWORD
  • SOURCESERVER

/FR[ename] {SQL | DTS} [;ParentFolderPath; OldFolderName;NewFolderName]

(省略可)。SSIS 上または SQL Server 上にあるフォルダの名前を変更します。ParentFolderPath は、名前を変更するフォルダの場所です。OldFolderName はフォルダの現在の名前で、NewFolderName はそのフォルダに付ける新しい名前です。

/H[elp] option

dtutil の各オプションとその使用方法を詳細に説明するヘルプ テキストを表示します。このオプションの引数は省略可能です。引数が含まれている場合、ヘルプ テキストには、指定されたオプションに関する詳細情報が表示されます。次の例では、すべてのオプションに関するヘルプが表示されます。

dtutil /H

次の 2 つの例では、/H オプションを使用して、特定のオプション (この例では /Q [uiet] オプション) に関する詳細なヘルプが表示されます。

dtutil /Help Quiet

dtutil /H Q

/I[DRegenerate]

パッケージの新しい GUID を作成し、パッケージ ID のプロパティを更新します。パッケージをコピーするときに、パッケージ ID が同じままだと、両方のパッケージが同じ GUID でログ ファイルに表示されることになります。この操作では、新しくコピーされたパッケージ用に新しい GUID が作成され、元のパッケージと区別されます。

/M[ove] {SQL | File | DTS}; pathandname

SSIS パッケージに対する移動操作を指定します。このパラメータを使用するには、先に /FI/SQ、または /DT オプションを使用してパッケージの場所を指定し、次に Move 操作を指定します。この操作には、2 つの引数をセミコロンで区切って指定する必要があります。

  • 移動先の引数には、SQLFILE、または DTS を指定できます。SQL の移動先には、DESTUSER オプション、DESTPASSWORD オプション、および DESTSERVER オプションを含めることができます。
  • pathandname 引数には、パッケージの場所を指定します。SQL ではパッケージのパスおよびパッケージ名、FILE では UNC またはローカル パス、DTS では SSIS パッケージ ストアのルートを基準とした相対的な場所をそれぞれ使用します。移動先が FILE または DTS の場合、パスの引数にはファイル名を含めません。代わりに、指定された場所にあるパッケージ名をファイル名として使用します。

MOVE 操作で移動先に既存のパッケージが見つかった場合、dtutil によって、パッケージの上書きを確認するプロンプトが表示されます。パッケージを上書きする場合は Y、プログラムを終了する場合は N と応答します。コマンドに QUIET オプションが含まれている場合は、プロンプトは表示されず、既存のパッケージはすべて上書きされます。

/Q[uiet]

COPY オプション、MOVE オプション、または SIGN オプションを含むコマンドの実行時に示される確認プロンプトが表示されないようにします。この確認プロンプトは、指定されたパッケージと同じ名前のパッケージが対象となるコンピュータに既に存在する場合や、指定されたパッケージが既に署名されている場合に表示されます。

/R[emark] text

コメントをコマンド ラインに追加します。コメントの引数は省略可能です。コメント テキストが空白を含む場合、テキストを引用符で囲む必要があります。1 行のコマンド ラインに複数の REM オプションを含めることができます。

/Si[gn] {SQL | File | DTS}; path; hash

SSIS パッケージに署名します。この操作には、3 つの引数をセミコロンで区切って指定する必要があります。

  • 移動先の引数には、SQLFILE、または DTS を指定できます。SQL の移動先には、DESTUSER オプション、DESTPASSWORD オプション、および DESTSERVER オプションを含めることができます。
  • path 引数には、操作の対象となるパッケージの場所を指定します。
  • hash 引数には、さまざまな長さの 16 進数文字列で表される認証識別子を指定します。

証明書に関する情報は、CertMgr ユーティリティを使って確認できます。詳細については、MSDN ライブラリのトピック「Signing and Checking Code with Authenticode」 (Authenticode を使用したコードの署名と検証) の「CertMgr」を参照してください。

/SourceP[assword] password

SQL Server 認証を使用する SQL Server インスタンスのデータベースに格納されている SSIS パッケージを取得できるように、SQL オプションおよび SOURCEUSER オプションで使用されるパスワードを指定します。コマンド ラインで SOURCEUSER オプションを指定せずに SOURCEPASSWORD を指定すると、エラーになります。

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

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

/SourceS[erver] server_instance

SQL Server に格納されている SSIS パッケージを取得できるように、SQL オプションで使用されるサーバー名を指定します。コマンド ラインで SIGN SQL オプション、COPYSQL オプション、または MOVESQL オプションを指定せずに SOURCESERVER を指定すると、エラーになります。

SQL Server インスタンス名は、円記号とインスタンス名をサーバー名に追加することによって指定します。

/SourceU[ser] username

SQL Server 認証を使用する SQL Server に格納されている SSIS パッケージを取得できるように、SOURCESERVER オプションで使用されるユーザー名を指定します。コマンド ラインで SIGN SQL オプション、COPY SQL オプション、または MOVE SQL オプションを指定せずに SOURCEUSER を指定すると、エラーになります。

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

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

/SQ[L] package_path

SSIS パッケージの場所を指定します。このオプションは、パッケージが msdb データベースに格納されることを示します。package_path 引数には、SSIS パッケージのパスと名前を指定します。フォルダ名の最後には円記号を入力します。

SQL オプションが、次のオプションのいずれかと同じコマンド ライン上に指定された場合、DTEXEC_DTEXECERROR が返されます。

  • DTS
  • FILE
    SQL オプションは、オプションを使用しないか、次のオプションのいずれか 1 つを使用します。
  • SOURCEUSER
  • SOURCEPASSWORD
  • SOURCESERVER

SOURCEUSERNAME が含まれていない場合、パッケージへのアクセスに Windows 認証が使用されます。SOURCEPASSWORDSOURCEUSER が存在する場合のみ使用できます。SOURCEPASSWORD が含まれていない場合、空白のパスワードが使用されます。

ms162820.note(ja-jp,SQL.90).gif重要 :

空白のパスワードは使用しないでください。強力なパスワードを使用してください。

dtutil 終了コード

構文エラーの検出、不適切な引数の使用、オプションの不適切な組み合わせの指定などがあった場合、dtutil は警告を表示して終了コードを設定します。それ以外の場合、"操作は正常に完了しました。"というメッセージが表示されます。次の表は、dtutil ユーティリティが終了時に設定できる値を示しています。

説明

0

ユーティリティが正常に実行されました。

1

ユーティリティが失敗しました。

4

ユーティリティは要求されたパッケージを見つけることができません。

5

ユーティリティは要求されたパッケージを読み込むことができません。

6

コマンド ラインに構文エラーまたはセマンティクス エラーのいずれかが含まれているため、ユーティリティはコマンド ラインを解決できません。

解説

dtutil でコマンド ファイルやリダイレクトを使用することはできません。

コマンド ライン内でのオプションの順序は重要ではありません。

次の例では、コマンド ラインの使用に関する一般的なシナリオについて説明します。

コピーの例

Windows 認証を使用する SQL Server のローカル インスタンス上に msdb データベースがあり、このデータベースに格納されているパッケージを SSIS パッケージ ストアにコピーするには、次の構文を使用します。

dtutil /SQL srcPackage /COPY DTS;destPackage 

パッケージをファイル システム上の場所から別の場所にコピーし、そのコピーに別の名前を付けるには、次の構文を使用します。

dtutil /FILE c:\myPackages\mypackage.dtsx /COPY FILE;c:\myTestPackages\mynewpackage.dtsx

ローカル ファイル システム上のパッケージを、別のコンピュータ上でホストされている SQL Server インスタンスにコピーするには、次の構文を使用します。

dtutil / FILE c:\sourcepkg.dtsx / COPY SQL;destpkgname

/DestU[ser] オプションと /DestP[assword] オプションが使用されていないため、Windows 認証の使用が想定されています。

コピー後にパッケージ用の新しい ID を作成するには、次の構文を使用します。

dtutil /I /FILE copiedpkg.dtsx 

特定のフォルダにあるすべてのパッケージの新しい ID を作成するには、次の構文を使用します。

for %%f in (C:\test\SSISPackages\*.dtsx) do dtutil.exe /I /FILE %%f

コマンド プロンプトでコマンドを入力するときは、パーセント記号を 1 つ (%) 使用します。バッチ ファイル内でコマンドを使用するときは、パーセント記号を 2 つ (%%) 使用します。

削除の例

Windows 認証を使用する SQL Server のインスタンス上に msdb データベースがあり、このデータベースに格納されているパッケージを削除するには、次の構文を使用します。

dtutil /SQL delPackage /DELETE

SQL Server 認証を使用する SQL Server のインスタンス上に msdb データベースがあり、このデータベースに格納されているパッケージを削除するには、次の構文を使用します。

dtutil /SQL delPackage /SOURCEUSER srcUserName /SOURCEPASSWORD #8nGs*w7F /DELETE
ms162820.note(ja-jp,SQL.90).gifメモ :
パッケージを名前付きサーバーから削除するには、SOURCESERVER オプションおよびそのオプションの引数を含めます。SQL を使用する場合にのみサーバーを指定できます。

SSIS パッケージ ストアに格納されているパッケージを削除するには、次の構文を使用します。

dtutil /DTS delPackage.dtsx /DELETE

ファイル システムに格納されているパッケージを削除するには、次の構文を使用します。

dtutil /FILE c:\delPackage.dtsx /DELETE

存在確認の例

Windows 認証を使用する SQL Server のローカル インスタンス上に msdb データベースがあり、このデータベースにパッケージが存在するかどうかを判断するには、次の構文を使用します。

dtutil /SQL srcPackage /EXISTS

SQL Server 認証を使用する SQL Server のローカル インスタンス上に msdb データベースがあり、このデータベースにパッケージが存在するかどうかを判断するには、次の構文を使用します。

dtutil SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD *hY$d56b /EXISTS
ms162820.note(ja-jp,SQL.90).gifメモ :
パッケージが名前付きサーバーに存在するかどうかを判断するには、SOURCESERVER オプションおよびその引数を含めます。サーバーの指定は、SQL オプションを使用することによってのみ行えます。

パッケージがローカルのパッケージ ストアに存在するかどうかを判断するには、次の構文を使用します。

dtutil /DTS srcPackage.dtsx /EXISTS

パッケージがローカルのファイル システムに存在するかどうかを判断するには、次の構文を使用します。

dtutil /FILE c:\srcPackage.dtsx /EXISTS

移動の例

SSIS パッケージ ストアに格納されているパッケージを、Windows 認証を使用する SQL Server のローカル インスタンス上の msdb データベースに移動するには、次の構文を使用します。

dtutil /DTS srcPackage.dtsx /MOVE SQL;destPackage

SQL Server 認証を使用する SQL Server のローカル インスタンス上の msdb データベースに格納されているパッケージを、SQL Server 認証を使用する SQL Server の別のローカル インスタンス上の msdb データベースに移動するには、次の構文を使用します。

dtutil /SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD $Hj45jhd@X /MOVE SQL;destPackage /DESTUSER destUserName /DESTPASSWORD !38dsFH@v
ms162820.note(ja-jp,SQL.90).gifメモ :
ある名前付きサーバーから別の名前付きサーバーにパッケージを移動するには、SOURCES オプションと DESTS オプション、および関連する引数を含めます。SQL を使用する場合にのみサーバーを指定できます。

SSIS パッケージ ストアに格納されているパッケージを移動するには、次の構文を使用します。

dtutil /DTS srcPackage.dtsx /MOVE DTS;destPackage.dtsx

ファイル システムに格納されているパッケージを移動するには、次の構文を使用します。

dtutil /FILE c:\srcPackage.dtsx /MOVE FILE;c:\destPackage.dtsx

署名の例

Windows 認証を使用する SQL Server のローカル インスタンス上に SQL Server データベースがあり、このデータベースに格納されているパッケージに署名するには、次の構文を使用します。

dtutil /FILE srcPackage.dtsx /SIGN FILE;destpkg.dtsx;1767832648918a9d989fdac9819873a91f919

証明書に関する情報を確認するには、CertMgr を使用します。ハッシュ コードを確認するには、CertMgr ユーティリティで証明書を選択し、[表示] をクリックしてプロパティを表示します。[詳細] タブで、証明書に関する詳細な情報を確認できます。Thumbprint プロパティはハッシュ値として使用されます。このとき、スペースは削除されます。

ms162820.note(ja-jp,SQL.90).gifメモ :
上の例で使用しているハッシュは実際のハッシュではありません。

詳細については、「Signing and Checking Code with Authenticode」 (Authenticode を使用したコードの署名と検証) の「CertMgr」を参照してください。

暗号化の例

次の例では、完全パッケージ暗号化とパスワードを使用してファイルベースの PackageToEncrypt.dtsx を暗号化し、ファイルベースの EncryptedPackage.dts として保存します。暗号化に使用されるパスワードは、EncPswd です。

dtutil /FILE PackageToEncrypt.dtsx /ENCRYPT file;EncryptedPackage.dtsx;3;EncPswd

参照

その他の技術情報

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

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 7 月 17 日

変更内容 :
  • 名前および SOURCESERVER オプションを修正。
  • SQL Server Management Studio で dtutil タスクを実行できることを記載。

2005 年 12 月 5 日

変更内容 :
  • サンプル パッケージの署名方法に関する説明を追加。
  • パッケージの暗号化の例を追加。
  • コピー オプションと移動オプションの使用方法に関する説明を追加。