dtutil 公用程式
更新: 2006 年 7 月 17 日
dtutil 命令提示字元公用程式用來管理 SQL Server 2005 Integration Services (SSIS) 封裝。這個公用程式可以複製、移動、刪除封裝,或確認封裝是否存在。下列三個位置所儲存的任何 SSIS 封裝都可以執行這些動作:Microsoft SQL Server 資料庫、SSIS 封裝存放區和檔案系統。封裝的儲存類型是由 /SQL、/FILE 和 /DTS 等選項來識別。
附註: |
---|
在 64 位元電腦上,Integration Services 會同時安裝 32 位元和 64 位元版本的 dtutil 公用程式 (dtexec.exe)。 |
附註: |
---|
您也可以在連接到 Integration Services 的執行個體時,透過 SQL Server Management Studio 以視覺化方式執行 dtutil 所執行的許多作業。如需詳細資訊,請參閱<管理 Integration Services 封裝>。 |
您可以依照任何順序來輸入這些選項。垂直線 ("|") 字元是 OR 運算子,用來顯示可能的值。您必須使用以 OR 垂直線分隔的其中一個選項。
所有選項的開頭都必須是斜線 (/) 或減號 (-)。
引數必須是加上引號的字串,或不含空白的字串。
加上引號的字串之內的雙引號代表逸出的單引號。
除了密碼以外,選項和引數都沒有區分大小寫。
語法
dtutil /option [value] [/option [value]]...
參數
選項
描述
/?
顯示命令提示字元選項。
/C[opy] location;destinationPathandPackageName
對 SSIS 封裝指定複製動作。要使用此參數,您必須先使用 /FI、/SQ 或 /DT 選項指定封裝的位置。接下來,指定目的地位置目的地封裝名稱。destinationPathandPackageName 引數指定複製 SSIS 封裝所在的位置。如果目的地 location 是 SQL,則也必須在命令中指定 DestUser、DestPassword 和 DestServer 引數。
當 Copy 動作發現目的地有現有的封裝時,dtutil 會提示使用者確認是否要刪除封裝。Y 回覆會覆寫封裝,N 回覆會結束程式。當命令包含 Quiet 引數時,不會出現提示,並且會覆寫任何現有的封裝。
/Dec[rypt] password
(選擇性)。設定載入含密碼加密的封裝時,所用的解密密碼。
/Del[ete]
刪除 SQL、DTS 或 FILE 選項所指定的封裝。如果 dtutil 無法刪除封裝,程式便會結束。
/DestP[assword] password
指定搭配 SQL 選項來連接使用 SQL Server 驗證之目的地 SQL Server 執行個體時,所使用的密碼。如果 DESTPASSWORD 是指定在不含 DTSUSER 選項的命令列上,則會產生錯誤。
附註:
可能的話,請使用「Windows 驗證」。.
/DestS[erver] server_instance
指定以任何動作搭配使用的伺服器名稱,這些動作會使目的地儲存在 SQL Server 中的。當儲存 SSIS 封裝時,它用來識別非本機或非預設的伺服器。在不含與 SQL Server 相關聯動作的命令列上指定 DESTSERVER 是錯的。SIGN SQL、COPY SQL 或 MOVE SQL 選項之類的動作,就是結合這個選項的適當命令。
您可以在伺服器名稱中加入反斜線和執行個體名稱來指定 SQL Server 執行個體的名稱。
/DestU[ser] username
指定與 SIGN SQL、COPY SQL 和 MOVE SQL 選項一起使用的使用者名稱,以連接到使用 SQL Server 驗證的 SQL Server 執行個體。在不含 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 封裝是在檔案系統中。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 選項及描述其用法。option 引數是選擇性的。如果包含這個引數,說明文字會包括指定選項的詳細資訊。下列範例會顯示所有選項的說明:
dtutil /H
下列兩個範例顯示如何使用 /H 選項來顯示特定選項的擴充說明,例如本範例中的 /Q [uiet] 選項:
dtutil /Help Quiet
dtutil /H Q
/I[DRegenerate]
建立封裝的新 GUID 及更新封裝識別碼屬性。複製封裝時,封裝識別碼保持不變;因此,記錄檔包含兩個封裝相同的 GUID。此動作為新複製的封裝建立新的 GUID,以便與原始封裝區別。
/M[ove] {SQL | File | DTS}; pathandname
對 SSIS 封裝指定移動動作。若要使用此參數,請先使用 /FI、/SQ 或 /DT 選項指定封裝的位置。接下來,指定 Move 動作。這個動作需要兩個以分號分隔的引數:
- 目的地引數可指定 SQL、FILE 或 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
在命令列中加入註解。註解引數是選擇性的。如果註解文字包括空格,就必須用引號括住文字。您可以在單一命令列中併入多個 REM 選項。
/Si[gn] {SQL | File | DTS}; path; hash
簽署 SSIS 封裝。這個動作需要使用三個以分號分隔的引數:
- 目的地引數可指定 SQL、FILE 或 DTS。SQL 目的地可包含 DESTUSER、DESTPASSWORD 和 DESTSERVER 選項。
- path 引數指定要處理之封裝的位置。
- hash 引數指定用可變長度十六進位字串來表示的憑證識別碼。
您可以利用 CertMgr 公用程式找到有關認證的資訊。如需詳細資訊,請參閱 MSDN Library 主題<使用 Authenticode 簽署與檢查程式碼>(英文) 中的<CertMgr>一節。
/SourceP[assword] password
指定 SQL 和 SOURCEUSER 選項使用的密碼,以擷取儲存在 SQL Server 執行個體上之資料庫中的 SSIS 封裝,而該執行個體使用 SQL Server 驗證。在不含 SOURCEUSER 選項的命令列上指定 SOURCEPASSWORD 是錯的。
附註:
可能的話,請使用「Windows 驗證」。
/SourceS[erver] server_instance
指定與 SQL 選項一起使用的伺服器名稱,以擷取 SQL Server 中所儲存之 SSIS 封裝的擷取作業。在不含 SIGN SQL、COPYSQL 或 MOVESQL 選項的命令列上指定 SOURCESERVER 是錯的。
您可以在伺服器名稱中加入反斜線和執行個體名稱來指定 SQL Server 執行個體的名稱。
/SourceU[ser] username
指定與 SOURCESERVER 選項一起使用的使用者名稱,以擷取儲存在使用 SQL Server 驗證之 SQL Server 中的 SSIS 封裝。在不含 SIGN SQL、COPY SQL 或 MOVE SQL 選項的命令列上指定 SOURCEUSER 是錯的。
附註:
可能的話,請使用「Windows 驗證」。
/SQ[L] package_path
指定 SSIS 封裝的位置。這個選項指出封裝儲存在 msdb 資料庫中。package_path 引數指定 SSIS 封裝的路徑和名稱。資料夾名稱以反斜線作為結尾。
如果在下列任何選項的相同命令列中指定 SQL 選項,就會傳回 DTEXEC_DTEXECERROR:
- DTS
- FILE
SQL 選項可附帶下列選項中的零個或一個執行個體: - SOURCEUSER
- SOURCEPASSWORD
- SOURCESERVER
如果不包含 SOURCEUSERNAME,會使用 Windows 驗證來存取封裝。唯有出現 SOURCEUSER 時,才允許 SOURCEPASSWORD。如果不包含 SOURCEPASSWORD,則使用空白密碼。
重要事項:
密碼不能空白。請使用增強式密碼。
dtutil 結束碼
dtutil 可設定結束碼,以便在偵測到語法錯誤、使用不正確的引數或指定無效的選項組合時,向您發出警告。要不然,公用程式會報告「已成功地完成作業」。下表列出 dtutil 公用程式結束時所能設定的值。
值 | 描述 |
---|---|
0 |
已順利執行公用程式。 |
1 |
公用程式失敗。 |
4 |
公用程式找不到所要求的封裝。 |
5 |
公用程式無法載入所要求的封裝。 |
6 |
公用程式無法解析命令列,因為它包含語法或語意錯誤。 |
備註
您不能搭配 dtutil 來使用命令檔或重新導向。
命令列的選項順序不重要。
範例
下列範例詳細說明一般命令列的使用狀況。
複製範例
若要將儲存在 SQL Server 的本機執行個體 (使用 Windows 驗證) 上的 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 驗證。
若要在複製封裝之後建立封裝的新識別碼,請使用下列語法:
dtutil /I /FILE copiedpkg.dtsx
若要為特定資料夾的所有封裝建立新的識別碼,請使用下列語法:
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 封裝存放區內的封裝移到 SQL Server 的本機執行個體 (使用 Windows 驗證) 上的 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
附註: |
---|
若要在具名伺服器之間移動封裝,請併入 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 屬性是作為雜湊值使用,其空格已移除。
附註: |
---|
此範例使用的雜湊不是真正的雜湊。 |
如需詳細資訊,請參閱<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 考量
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 7 月 17 日 |
|
2005 年 12 月 5 日 |
|