dtutil 유틸리티

업데이트: 2006년 7월 17일

dtutil 명령 프롬프트 유틸리티를 사용하여 SQL Server 2005 Integration Services(SSIS) 패키지를 관리할 수 있습니다. 이 유틸리티는 패키지를 복사, 이동, 삭제하거나 패키지가 있는지 여부를 확인할 수 있습니다. 이 작업은 Microsoft SQL Server 데이터베이스, SSIS 패키지 저장소, 파일 시스템 중 하나에 저장된 모든 SSIS 패키지에서 수행할 수 있습니다. 패키지 저장소 유형은 /SQL, /FILE/DTS 옵션으로 식별됩니다.

[!참고] 64비트 컴퓨터에서는 Integration Services가 32비트 및 64비트 버전의 dtutil 유틸리티(dtexec.exe)를 모두 설치합니다.

[!참고] Integration Services 인스턴스에 연결된 경우에는 dtutil에서 수행하는 대부분의 작업을 SQL Server Management Studio에서 시각적으로 수행할 수 있습니다. 자세한 내용은 Integration Services 패키지 관리를 참조하십시오.

옵션은 순서에 관계없이 입력할 수 있습니다. 파이프("|") 문자는 OR 연산자이며 가능한 값을 표시하는 데 사용됩니다. OR 파이프로 구분된 옵션 중 하나를 사용해야 합니다.

모든 옵션은 슬래시(/) 또는 빼기 기호(-)로 시작해야 합니다.

인수는 따옴표로 묶거나 공백이 없는 문자열이어야 합니다.

작은따옴표로 묶인 문자열 안의 큰따옴표는 이스케이프된 작은따옴표를 나타냅니다.

암호를 제외한 옵션 및 인수는 대/소문자를 구분하지 않습니다.

구문

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

매개 변수

옵션

설명

/?

명령 프롬프트 옵션을 표시합니다.

/C[opy] location;destinationPathandPackageName

SSIS 패키지에 대해 Copy 작업을 지정합니다. 이 매개 변수를 사용하려면 먼저 /FI, /SQ 또는 /DT 옵션을 사용하여 패키지 위치를 지정해야 합니다. 그런 다음 대상 위치 및 대상 패키지 이름을 지정합니다. destinationPathandPackageName 인수는 SSIS 패키지를 복사할 대상 위치를 지정합니다. 대상 locationSQL인 경우 명령에 DestUser, DestPasswordDestServer 인수도 지정해야 합니다.

Copy 작업을 수행할 때 대상 위치에 기존 패키지가 있을 경우 dtutil에서 패키지를 삭제할 것인지 묻는 메시지를 표시합니다. Y로 응답하면 패키지를 덮어쓰고 N으로 응답하면 프로그램을 종료합니다. 명령에 Quiet 인수가 포함된 경우 메시지가 표시되지 않으며 기존 패키지를 덮어씁니다.

/Dec[rypt] password

선택 사항입니다. 암호가 암호화된 패키지를 로드할 때 사용할 해독 암호를 설정합니다.

/Del[ete]

SQL, DTS 또는 FILE 옵션으로 지정된 패키지를 삭제합니다. dtutil에서 패키지를 삭제할 수 없을 경우 프로그램이 종료됩니다.

/DestP[assword] password

SQL Server 인증을 사용하는 대상 SQL Server 인스턴스에 연결하기 위해 SQL 옵션에 사용할 암호를 지정합니다. DTSUSER 옵션이 포함되지 않은 명령줄에서 DESTPASSWORD를 지정하면 오류가 생성됩니다.

ms162820.note(ko-kr,SQL.90).gif참고:

가능하면 Windows 인증을 사용합니다..

/DestS[erver] server_instance

대상이 SQL Server에 저장되도록 하는 모든 작업에 사용할 서버 이름을 지정합니다. SSIS 패키지를 저장할 때 로컬 서버나 기본 서버가 아닌 서버를 식별하는 데 사용됩니다. SQL Server와 관련된 작업이 없는 명령줄에서 DESTSERVER를 지정하면 오류가 발생합니다. 이 옵션과 조합하여 사용할 수 있는 적합한 명령에는 SIGN SQL, COPY SQL 또는 MOVE SQL 옵션과 같은 작업이 있습니다.

서버 이름에 백슬래시 및 인스턴스 이름을 추가하여 SQL Server 인스턴스 이름을 지정할 수 있습니다.

/DestU[ser] username

SQL Server 인증을 사용하는 SQL Server 인스턴스에 연결하기 위해 SIGN SQL, COPY SQLMOVE 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 - 경로는 대상 패키지 이름입니다.
  • FILE - 경로는 패키지의 정규화된 경로 및 파일 이름입니다.
  • DTS - 현재 이 옵션은 지원되지 않습니다.

ProtectionLevel 옵션:

수준 0: 중요한 정보를 따로 암호화하지 않습니다.

수준 1: 로컬 사용자 자격 증명을 사용하여 중요한 정보를 암호화합니다.

수준 2: 필수 암호를 사용하여 중요한 정보를 암호화합니다.

수준 3: 필수 암호를 사용하여 패키지를 암호화합니다.

수준 4: 로컬 사용자 자격 증명을 사용하여 패키지를 암호화합니다.

수준 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]

선택 사항입니다. SQL Server 또는 SSIS에서 FolderName에 이름이 지정된 폴더를 삭제합니다. 삭제할 폴더의 위치는 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 패키지가 파일 시스템에 있음을 지정합니다. UNC(Universal Naming Convention) 경로나 로컬 경로로 filespec 값을 지정할 수 있습니다.

다음 옵션과 같은 명령줄에서 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

다음 두 예에서는 /H 옵션을 사용하여 특정 옵션에 대한 자세한 도움말을 표시하는 방법을 보여 줍니다. 이 예에서 도움말을 표시할 특정 옵션은 */Q [uiet]*입니다.

dtutil /Help Quiet

dtutil /H Q

/I[DRegenerate]

패키지를 위한 새 GUID를 만들고 패키지 ID 속성을 업데이트합니다. 패키지를 복사해도 패키지 ID는 동일하게 유지되므로 로그 파일에는 두 패키지 모두에 대해 동일한 GUID가 포함됩니다. 이 작업은 새로 복사된 패키지에 대해 새 GUID를 만들어 원본과 구별합니다.

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

SSIS 패키지에 대해 Move 작업을 지정합니다. 이 매개 변수를 사용하려면 먼저 /FI, /SQ 또는 /DT 옵션을 사용하여 패키지 위치를 지정합니다. 그런 다음 Move 작업을 지정합니다. 이 작업에는 세미콜론으로 구분되는 두 인수가 필요합니다.

  • 대상 인수는 SQL, FILE 또는 DTS를 지정할 수 있습니다. SQL 대상은 DESTUSER, DESTPASSWORDDESTSERVER 옵션을 포함할 수 있습니다.
  • pathandname 인수는 패키지 위치를 지정합니다. SQL은 패키지 경로와 패키지 이름을 사용하고 FILE은 UNC 또는 로컬 경로를 사용하며 DTS는 SSIS 패키지 저장소의 루트에 상대적인 위치를 사용합니다. 대상이 FILE 또는 DTS인 경우 path 인수에는 파일 이름이 포함되지 않습니다. 대신 지정된 위치의 패키지 이름을 파일 이름으로 사용합니다.

MOVE 작업을 수행할 때 대상에 기존 패키지가 있을 경우 dtutil에서 패키지를 덮어쓸 것인지 묻는 메시지를 표시합니다. Y로 응답하면 패키지를 덮어쓰고 N으로 응답하면 프로그램을 종료합니다. 명령에 QUIET 옵션이 포함된 경우 메시지가 표시되지 않으며 기존 패키지를 덮어씁니다.

/Q[uiet]

COPY, MOVE 또는 SIGN 옵션이 포함된 명령을 실행할 때 나타날 수 있는 확인 메시지를 표시하지 않습니다. 이 메시지는 지정된 패키지와 이름이 같은 패키지가 대상 컴퓨터에 이미 있을 경우 또는 지정된 패키지에 이미 서명이 된 경우 나타납니다.

/R[emark] text

명령줄에 주석을 추가합니다. 주석 인수는 선택 사항입니다. 주석 텍스트에 공백이 포함된 경우 텍스트를 따옴표로 묶어야 합니다. 명령줄에 여러 REM 옵션을 포함할 수 있습니다.

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

SSIS 패키지에 서명합니다. 이 작업에서는 세미콜론으로 구분되는 세 인수를 사용합니다.

  • 대상 인수는 SQL, FILE 또는 DTS를 지정할 수 있습니다. SQL 대상은 DESTUSER, DESTPASSWORDDESTSERVER 옵션을 포함할 수 있습니다.
  • path 인수는 작업을 수행할 패키지의 위치를 지정합니다.
  • hash 인수는 다양한 길이의 16진수 문자열로 표현되는 인증서 식별자를 지정합니다.

인증서에 대한 정보는 CertMgr 유틸리티를 사용하여 찾을 수 있습니다. 자세한 내용은 MSDN Library에서 Authenticode로 코드 서명 및 확인(Signing and Checking Code with Authenticode) 항목의 CertMgr 섹션을 참조하십시오.

/SourceP[assword] password

SQL Server 인증을 사용하는 SQL Server 인스턴스의 데이터베이스에 저장된 SSIS 패키지를 검색할 수 있도록 SQLSOURCEUSER 옵션에 사용할 암호를 지정합니다. SOURCEUSER 옵션이 포함되지 않은 명령줄에서 SOURCEPASSWORD를 지정하면 오류가 발생합니다.

ms162820.note(ko-kr,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(ko-kr,SQL.90).gif참고:

가능하면 Windows 인증을 사용합니다.

/SQ[L] package_path

SSIS 패키지의 위치를 지정합니다. 이 옵션은 패키지가 msdb 데이터베이스에 저장되었음을 나타냅니다. package_path 인수는 SSIS 패키지의 경로와 이름을 지정합니다. 폴더 이름은 백슬래시로 끝납니다.

다음 옵션과 같은 명령줄에서 SQL 옵션을 지정하면 DTEXEC_DTEXECERROR가 반환됩니다.

  • DTS
  • FILE
    SQL 옵션은 다음 옵션 중 하나와 함께 사용하거나 혼자 사용할 수 있습니다.
  • SOURCEUSER
  • SOURCEPASSWORD
  • SOURCESERVER

SOURCEUSERNAME을 포함하지 않으면 패키지에 액세스할 때 Windows 인증이 사용됩니다. SOURCEPASSWORDSOURCEUSER를 지정한 경우에만 사용할 수 있습니다. SOURCEPASSWORD를 포함하지 않으면 빈 암호가 사용됩니다.

ms162820.note(ko-kr,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

명령 프롬프트에서 명령을 입력하는 경우에는 단일 백분율 기호(%)를 사용합니다. 배치 파일 내에서 명령을 사용하는 경우에는 이중 백분율 기호(%%)를 사용합니다.

삭제 예

Windows 인증을 사용하는 SQL Server 인스턴스에서 msdb 데이터베이스에 저장된 패키지를 삭제하려면 다음 구문을 사용합니다.

dtutil /SQL delPackage /DELETE

SQL Server 인증을 사용하는 SQL Server 인스턴스에서 msdb 데이터베이스에 저장된 패키지를 삭제하려면 다음 구문을 사용합니다.

dtutil /SQL delPackage /SOURCEUSER srcUserName /SOURCEPASSWORD #8nGs*w7F /DELETE

[!참고] 명명된 서버에서 패키지를 삭제하려면 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

[!참고] 명명된 서버에 패키지가 있는지 확인하려면 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

[!참고] 명명된 서버 간에 패키지를 이동하려면 SOURCESDESTS 옵션과 해당 인수를 포함합니다. 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 속성은 공백이 제거된 다음 해시 값으로 사용됩니다.

[!참고] 이 예에 사용된 해시는 실제 해시가 아닙니다.

자세한 내용은 Authenticode로 코드 서명 및 확인(Signing and Checking Code with 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일

변경된 내용
  • 예제 패키지 서명 방법에 대한 설명을 추가했습니다.
  • 패키지 암호화 방법을 보여 주는 예를 추가했습니다.
  • Copy 및 Move 옵션 사용 방법에 대한 설명을 보강했습니다.