Encrypt

適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime

dtutil コマンド プロンプト ユーティリティは、SQL Server Integration Services パッケージの管理に使用します。 このユーティリティを使用して、パッケージのコピー、移動、削除を行ったり、パッケージの存在を確認することができます。 これらの操作は、Microsoft SQL Server データベース、SSIS パッケージ ストア、およびファイル システムの 3 つの場所のいずれかに格納されている SSIS パッケージ上で実行できます。 このユーティリティが msdbに格納されているパッケージにアクセスする場合、コマンド プロンプトでユーザー名とパスワードが必要となる場合があります。 SQL Server のインスタンスで SQL Server 認証を使用する場合、コマンド プロンプトではユーザー名とパスワードの両方が必要です。 ユーザー名を入力しない場合、dtutil は Windows 認証を使用して SQL Server にログオンしようとします。 パッケージのストレージ型は SQLFILE、および DTS オプションで指定します。

dtutil コマンド プロンプト ユーティリティでは、コマンド ファイルの使用およびリダイレクションはサポートされていません。

dtutil コマンド プロンプト ユーティリティには、次の機能が含まれます。

  • コマンド プロンプトの解説。これによってコマンド プロンプトのアクションを自己文書化し、理解しやすくします。

  • 上書きの保護。パッケージをコピーまたは移動する場合、既存のパッケージを上書きする前に確認メッセージが表示されます。

  • コンソール ヘルプ。 dtutilのコマンド オプションに関する情報が提供されます。

注意

Integration Services のインスタンスに接続している場合、dtutil によって実行される操作の多くは、SQL Server Management Studio で確認しながら実行することもできます。 詳細については、「パッケージの管理 (SSIS サービス)」を参照してください。

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

すべてのオプションは、スラッシュ (/) またはマイナス記号 (-) で始まる必要があります。 ただし、オプションのテキストとスラッシュ (/) またはマイナス記号 (-) の間に空白を入れないでください。空白を入れると、コマンドの実行が失敗します。

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

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

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

64 ビット コンピューターでのインストールに関する注意点

64 ビット コンピューターには、Integration Services によって 64 ビット版の dtexec ユーティリティ (dtexec.exe) および dtutil ユーティリティ (dtutil.exe) がインストールされます。 これらの Integration Services ツールの 32 ビット版をインストールするには、セットアップ中に [クライアント ツール] または [SQL Server Data Tools (SSDT) ] を選択する必要があります。

既定では、64 ビットと 32 ビットの両方のバージョンの Integration Services コマンド プロンプト ユーティリティがインストールされている 64 ビット コンピューターでは、コマンド プロンプトで 32 ビット バージョンが実行されます。 これは、PATH 環境変数で、32 ビット バージョンのディレクトリ パスが 64 ビット バージョンのディレクトリ パスより前に配置されているためです (通常、32 ビットのディレクトリ パスは <ドライブ>:\Program Files(x86)\Microsoft SQL Server\130\DTS\Binn で、64 ビットのディレクトリ パスは <ドライブ>:\Program Files\Microsoft SQL Server\130\DTS\Binn です)。

注意

SQL Server エージェントを使用してユーティリティを実行する場合は、SQL Server エージェントによって 64 ビット バージョンのユーティリティが自動的に使用されます。 SQL Server エージェントでは、PATH 環境変数ではなくレジストリを使用してユーティリティの適切な実行可能ファイルが特定されます。

コマンド プロンプトで 64 ビット バージョンのユーティリティが実行されるようにするには、次のいずれかの操作を実行します。

  • コマンド プロンプト ウィンドウを開いて、64 ビット バージョンのユーティリティが格納されたディレクトリ (<ドライブ>:\Program Files\Microsoft SQL Server\130\DTS\Binn) に移動し、その場所からユーティリティを実行します。

  • コマンド プロンプトで、64 ビット バージョンのユーティリティの完全なパス (<ドライブ>:\Program Files\Microsoft SQL Server\130\DTS\Binn) を入力してユーティリティを実行します。

  • PATH 環境変数で、64 ビットのパス (<ドライブ>:\Program Files\Microsoft SQL Server\130\DTS\Binn) を 32 ビットのパス (<ドライブ>:\ Program Files(x86)\Microsoft SQL Server\130\DTS\Binn) より前に配置してパスの順序を永続的に変更します。

構文

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

パラメーター

オプション 説明
/? コマンド プロンプト オプションを表示します。
/C[opy] location;destinationPathandPackageName SSIS パッケージに対するコピー操作を指定します。 このパラメーターを使用するには、先に /FISQ、または /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 オプションで使用されるパスワードを指定します。 コマンド ラインで DESTPASSWORD オプションを指定せずに DTSUSER を指定すると、エラーが生成されます。

注: 可能な場合は、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 SQLCOPY SQL、および MOVE SQL オプションで使用するユーザー名を指定します。 コマンド ラインで DESTUSER オプション、 SIGN SQLオプション、または COPY SQLオプションを指定せずに MOVE SQL を指定すると、エラーになります。
/Dump process ID (省略可) 指定したプロセス ( dtexec ユーティリティまたは dtsDebugHost.exe プロセス) を一時停止し、デバッグ ダンプ ファイル (.mdmp および .tmp) を作成します。

注: /Dumpオプションを使用するには、Debug Programs ユーザー権限 (SeDebugPrivilege) が割り当てられている必要があります。

一時停止するプロセスの process ID を見つけるには、Windows タスク マネージャーを使用します。

Integration Services の既定では、デバッグ ダンプ ファイルは <ドライブ>\Program Files\Microsoft SQL Server\130\Shared\ErrorDumps フォルダーに格納されます。

dtexec ユーティリティおよび dtsDebugHost.exe プロセスの詳細については、「 dtexec Utility 」および「 Building, Deploying, and Debugging Custom Objects」を参照してください。

デバッグ ダンプ ファイルの詳細については、「 Generating Dump Files for Package Execution」を参照してください。

注: デバッグ ダンプ ファイルには機密情報が含まれている場合があります。 アクセス制御リスト (ACL) を使用してファイルへのアクセスを制限するか、アクセスが制限されたフォルダーにファイルをコピーしてください。
/DT[S] filespec 実行される SSIS パッケージが SSIS パッケージ ストアに存在することを指定します。 filespec 引数には、SSIS パッケージ ストアのルートから始まるフォルダー パスを含める必要があります。 既定では、構成ファイル内のルート フォルダーの名前は "MSDB" と "File System" です。スペースを含むパスは、二重引用符を使用して区切る必要があります。

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 進数文字列で表される認証識別子を指定します。

詳細については、「 デジタル署名を使用してパッケージのソースを特定する」を参照してください。



** 重要 ** パッケージの署名を確認するように構成した場合、Integration Services によって確認されるのは、デジタル署名が存在するかどうか、有効かどうか、および信頼関係のある発行元の署名であるかどうかのみです。 Integration Services では、パッケージが変更されたかどうかは確認されません
/SourceP[assword] password SQL Server 認証を使用する SQL Server インスタンスのデータベースに格納されている SSIS パッケージを取得できるように、SQL および SOURCEUSER オプションで使用されるパスワードを指定します。 コマンド ラインで SOURCEUSER オプションを指定せずに SOURCEPASSWORD を指定すると、エラーになります。

注: 可能な場合は、Windows 認証を使用します。
/SourceS[erver] server_instance SQL Server に格納されている SSIS パッケージを取得できるように、SQL オプションで使用されるサーバー名を指定します。 コマンド ラインで SIGN SQLCOPYSQL、または MOVESQL オプションを指定せずに SOURCESERVER を指定すると、エラーになります。

SQL Server インスタンス名は、円記号とインスタンス名をサーバー名に追加することによって指定できます。
/SourceU[ser] username SQL Server 認証を使用する SQL Server に格納されている SSIS パッケージを取得できるように、SOURCESERVER オプションで使用されるユーザー名を指定します。 コマンド ラインで SOURCEUSER オプション、 SIGN SQLオプション、または COPY SQLオプションを指定せずに MOVE SQL を指定すると、エラーになります。

注: 可能な場合は、Windows 認証を使用します。
/SQ[L] package_path SSIS パッケージの場所を指定します。 このオプションは、パッケージが msdb データベースに格納されることを示します。 package_path 引数には、SSIS パッケージのパスと名前を指定します。 フォルダー名の最後には円記号を入力します。

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

DTS

FILE

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

SOURCEUSER

SOURCEPASSWORD

SOURCESERVER



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

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

dtutil 終了コード

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

説明
0 ユーティリティが正常に実行されました。
1 ユーティリティが失敗しました。
4 ユーティリティは要求されたパッケージを見つけることができません。
5 ユーティリティは要求されたパッケージを読み込むことができません。
6 コマンド ラインに構文エラーまたはセマンティック エラーのいずれかが含まれているため、ユーティリティはコマンド ラインを解決できません。

解説

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

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

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

コピーの例

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

dtutil /SQL srcPackage /COPY DTS;destFolder\destPackage   

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

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

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

dtutil /FILE c:\sourcepkg.dtsx /DestServer <servername> /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  

Note

パッケージを名前付きサーバーから削除するには、 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  

Note

パッケージが名前付きサーバーに存在するかどうかを判断するには、 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  

Note

ある名前付きサーバーから別の名前付きサーバーにパッケージを移動するには、 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 プロパティはハッシュ値として使用されます。このとき、スペースは削除されます。

Note

上の例で使用しているハッシュは実際のハッシュではありません。

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

暗号化の例

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

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

参照

Integration Services (SSIS) パッケージの実行