Utilità dtutil
Data aggiornamento: 17 luglio 2006
L'utilità della riga di comando dtutil viene utilizzata per gestire i pacchetti di SQL Server 2005 Integration Services (SSIS). Utilizzare questa utility per copiare, spostare, eliminare un pacchetto oppure per verificarne l'esistenza. Queste operazioni possono essere eseguite su qualsiasi pacchetto di SSIS archiviato in un database Microsoft SQL Server, nell'archivio pacchetti SSIS e nel file system. Il tipo di archiviazione del pacchetto è definito dalle opzioni /SQL, /FILE e /DTS.
[!NOTA] In un computer a 64 bit, Integration Services consente di installare entrambe le versioni a 32 bit e a 64 bit dell'utilità dtutil (dtexec.exe).
[!NOTA] Numerose operazioni eseguite mediante dtutil possono inoltre essere eseguite in modo visivo in SQL Server Management Studio durante la connessione a un'istanza di Integration Services. Per ulteriori informazioni, vedere Gestione dei pacchetti di Integration Services.
Le opzioni possono essere specificate in base a un ordine qualsiasi. Il carattere barra verticale ("|") equivale all'operatore OR e viene utilizzato per visualizzare i valori possibili. È necessario utilizzare una delle opzioni delimitate dalla barra verticale OR.
Tutte le opzioni devono essere precedute da una barra (/) o un segno meno (-).
Gli argomenti devono essere stringhe racchiuse tra parentesi oppure che non contengono spazi.
Le virgolette doppie all'interno di stringhe racchiuse tra virgolette rappresentano virgolette singole di escape.
Le opzioni e gli argomenti, escluse le password, non fanno distinzione tra maiuscole e minuscole.
Sintassi
dtutil /option [value] [/option [value]]...
Parametri
Opzione
Descrizione
/?
Visualizza le opzioni del prompt dei comandi.
/C[opy] location;destinationPathandPackageName
Specifica un'operazione di copia su un pacchetto SSIS. Per utilizzare questo parametro, è prima necessario specificare la posizione del pacchetto tramite l'opzione /FI, /SQ o /DT e quindi indicare la posizione di destinazione e il nome del pacchetto di destinazione. L'argomento destinationPathandPackageName specifica la posizione nella quale il pacchetto SSIS viene copiato. Se la location di destinazione è SQL, è inoltre necessario specificare gli argomenti DestUser, DestPassword e DestServer nel comando.
Se l'azione Copy rileva un pacchetto esistente nella posizione di destinazione, l'utilità dtutil richiede all'utente di confermare l'eliminazione del pacchetto. La risposta Y comporta la sovrascrittura del pacchetto, mentre la risposta N chiude il programma. Se il comando include l'argomento Quiet, non viene visualizzata alcuna richiesta di conferma e il pacchetto esistente viene sovrascritto.
/Dec[rypt] password
(Facoltativo) Imposta la password di decrittografia utilizzata durante il caricamento di un pacchetto con password crittografata.
/Del[ete]
Elimina il pacchetto specificato dalle opzioni SQL, DTS o FILE. Se l'utilità dtutil non è in grado di eliminare il pacchetto, il programma viene chiuso.
/DestP[assword] password
Specifica la password utilizzata dall'opzione SQL per connettersi a un'istanza di SQL Server di destinazione tramite l'autenticazione di SQL Server. Viene generato un errore se si specifica DESTPASSWORD in una riga di comando che non include l'opzione DTSUSER.
Nota:
Se possibile, utilizzare l'autenticazione di Windows..
/DestS[erver] server_instance
Specifica il nome del server utilizzato con qualsiasi azione che determina il salvataggio di una destinazione in SQL Server. Questa opzione viene utilizzata per identificare un server non locale e non predefinito durante il salvataggio di un pacchetto SSIS. Non è corretto specificare DESTSERVER in una riga di comando che non include un'azione associata a SQL Server. Azioni quali le opzioni SIGN SQL, COPY SQL o MOVE SQL sono comandi appropriati che è possibile combinare con questa opzione.
Per specificare il nome di un'istanza di SQL Server, è sufficiente aggiungere una barra rovesciata e il nome dell'istanza al nome del server.
/DestU[ser] username
Specifica il nome utente utilizzato con le opzioni SIGN SQL, COPY SQL e MOVE SQL per connettersi a un'istanza di SQL Server che utilizza l'autenticazione di SQL Server. Non è corretto specificare DESTUSER in una riga di comando che non include le opzioni SIGN SQL, COPY SQL o MOVE SQL.
/DT[S] filespec
Questa opzione specifica che il pacchetto di SSIS da utilizzare si trova nell'archivio pacchetti SSIS. L'argomento filespec è un percorso relativo a partire dalla radice dell'archivio pacchetti SSIS.
Se si specifica l'opzione DT[S] nella stessa riga di comando di una delle opzioni seguenti, viene restituito un errore DTEXEC_DTEXECERROR:
- FILE
- SQL
- SOURCEUSER
- SOURCEPASSWORD
- SOURCESERVER
/En[crypt] {SQL | FILE}; Path;ProtectionLevel[;password]
(Facoltativo) Crittografa il pacchetto caricato in base alla password e al livello di protezione specificati e quindi lo salva nella posizione specificata da Path. L'argomento ProtectionLevel determina se è necessaria una password.
- SQL : il percorso è rappresentato dal nome del pacchetto di destinazione.
- FILE : il percorso è rappresentato dal percorso e dal nome file completi del pacchetto.
- DTS : questa opzione attualmente non è supportata.
Opzioni ProtectionLevel:
Livello 0: le informazioni riservate vengono eliminate.
Livello 1: le informazioni riservate vengono crittografate utilizzando le credenziali utente locali.
Livello 2: le informazioni riservate vengono crittografate utilizzando la password richiesta.
Livello 3: il pacchetto viene crittografato utilizzando la password richiesta.
Livello 4: il pacchetto viene crittografato utilizzando le credenziali utente locali.
Livello 5: il pacchetto utilizza la crittografia di archiviazione di SQL Server.
/Ex[ists]
(Facoltativo) Determina se un pacchetto esiste. L'utilità dtutil cerca di individuare il pacchetto specificato dall'opzione SQL, DTS oppure FILE. Se risulta impossibile individuare il pacchetto specificato, l'utilità dtutil restituisce un errore DTEXEC_DTEXECERROR.
/FC[reate] {SQL | DTS};ParentFolderPath;NewFolderName
(Facoltativo) Crea una nuova cartella il cui nome è specificato in NewFolderName. La posizione della nuova cartella è indicata dall'opzione ParentFolderPath.
/FDe[lete] {SQL | DTS}[;ParentFolderPath;FolderName]
(Facoltativo) Elimina la cartella specificata dal nome in FolderName da SQL Server o SSIS. La posizione della cartella da eliminare è indicata dall'opzione ParentFolderPath.
/FDi[rectory] {SQL | DTS};FolderPath[;S]
(Facoltativo) Elenca il contenuto (cartelle e pacchetti) in una cartella di SSIS o SQL Server. Il parametro facoltativo FolderPath specifica la cartella di cui si desidera visualizzare il contenuto. Il parametro facoltativo S specifica che si desidera visualizzare l'elenco del contenuto delle sottocartelle della cartella specificata in FolderPath.
/FE[xists ] {SQL | DTS};FolderPath
(Facoltativo) Verifica se la cartella specificata esiste in SSIS o SQL Server. Il parametro FolderPath rappresenta il percorso e il nome della cartella da verificare.
/Fi[le] filespec
Questa opzione specifica che il pacchetto di SSIS da utilizzare si trova nel file system. Il valore di filespec può essere specificato sotto forma di percorso UNC (Universal Naming Convention) o di percorso locale.
Se si specifica l'opzione File nella stessa riga di comando di una delle opzioni seguenti, viene restituito un errore DTEXEC_DTEXECERROR:
- DTS
- SQL
- SOURCEUSER
- SOURCEPASSWORD
- SOURCESERVER
/FR[ename] {SQL | DTS} [;ParentFolderPath; OldFolderName;NewFolderName]
(Facoltativo) Rinomina una cartella in SSIS o SQL Server. L'opzione ParentFolderPath specifica la posizione della cartella da rinominare. L'opzione OldFolderName specifica il nome corrente della cartella, mentre NewFolderName specifica il nuovo nome da assegnare alla cartella.
/H[elp] option
Visualizza il testo della Guida relativo alle opzioni di dtutil e al loro utilizzo. L'argomento è facoltativo. Se si specifica l'argomento, il testo della Guida include informazioni dettagliate sull'opzione specificata. Nell'esempio seguente vengono visualizzate le informazioni della Guida relative a tutte le opzioni.
dtutil /H
Nei due esempi seguenti viene illustrato come utilizzare l'opzione /H per visualizzare informazioni dettagliate della Guida per un'opzione specifica, ovvero l'opzione /Q [uiet] in questo esempio:
dtutil /Help Quiet
dtutil /H Q
/I[DRegenerate]
Crea un nuovo GUID per il pacchetto e aggiorna la proprietà ID del pacchetto. Quando viene copiato un pacchetto, l'ID del pacchetto rimane invariato. I file di log contengono pertanto lo stesso GUID per entrambi i pacchetti. Questa azione crea un nuovo GUID per la nuova copia del pacchetto per distinguerlo dall'originale.
/M[ove] {SQL | File | DTS}; pathandname
Specifica un'operazione di spostamento su un pacchetto SSIS. Per utilizzare questo parametro, è prima necessario specificare la posizione del pacchetto tramite l'opzione /FI, /SQ o /DT e quindi specificare l'azione Move. Questa azione richiede due argomenti separati da un punto e virgola:
- L'argomento relativo alla destinazione può specificare SQL, FILE oDTS. Una destinazione SQL può includere le opzioni DESTUSER, DESTPASSWORD e DESTSERVER.
- L'argomento pathandname specifica la posizione del pacchetto: SQL utilizza il percorso e il nome del pacchetto, FILE utilizza un percorso UNC o locale, mentre DTS utilizza una posizione relativa alla radice dell'archivio pacchetti SSIS. Se si specifica FILE o DTS come destinazione, l'argomento relativo al percorso non include il nome file, ma utilizza come nome file il nome del pacchetto nella posizione specificata.
Quando l'azione MOVE rileva un pacchetto esistente nella destinazione, dtutil richiede la conferma della sovrascrittura del pacchetto. La risposta Y comporta la sovrascrittura del pacchetto, mentre la risposta N chiude il programma. Se il comando include l'opzione QUIET, non viene visualizzata alcuna richiesta di conferma e il pacchetto esistente viene sovrascritto.
/Q[uiet]
Non visualizza alcuna richiesta di conferma se viene eseguito un comando che include l'opzione COPY, MOVE o SIGN. Queste richieste di conferma vengono visualizzate se un pacchetto con lo stesso nome del pacchetto specificato esiste già nel computer di destinazione oppure se il pacchetto specificato è già firmato.
/R[emark] text
Aggiunge un commento alla riga di comando. L'argomento è facoltativo. Se il testo del commento include spazi, è necessario racchiudere il testo tra virgolette. È possibile includere più opzioni REM in una riga di comando.
/Si[gn] {SQL | File | DTS}; path; hash
Firma un pacchetto di SSIS. Questa azione utilizza tre argomenti obbligatori separati da un punto e virgola:
- L'argomento relativo alla destinazione può specificare SQL, FILE o DTS. Una destinazione SQL può includere le opzioni DESTUSER, DESTPASSWORD e DESTSERVER.
- L'argomento relativo al percorso specifica la posizione del pacchetto su cui eseguire l'azione.
- L'argomento hash specifica un identificatore di certificato espresso come stringa esadecimale di lunghezza variabile.
È possibile ottenere informazioni sul certificato mediante l'utilità CertMgr. Per ulteriori informazioni, vedere la sezione relativa a CertMgr in Firma e controllo del codice con Authenticode in MSDN Library.
/SourceP[assword] password
Specifica la password utilizzata con le opzioni SQL e SOURCEUSER per abilitare il recupero di un pacchetto di SSIS archiviato in un database in un'istanza di SQL Server che utilizza l'autenticazione di SQL Server. Non è corretto specificare SOURCEPASSWORD in una riga di comando che non include l'opzione SOURCEUSER.
Nota:
Se possibile, utilizzare l'autenticazione di Windows.
/SourceS[erver] server_instance
Specifica il nome del server utilizzato con l'opzione SQL per abilitare il recupero di un pacchetto di SSIS archiviato in SQL Server. Non è corretto specificare SOURCESERVER in una riga di comando che non include l'opzione SIGN SQL, COPYSQL o MOVESQL.
Per specificare il nome di un'istanza di SQL Server, è sufficiente aggiungere una barra rovesciata e il nome dell'istanza al nome del server.
/SourceU[ser] username
Specifica il nome utente utilizzato con l'opzione SOURCESERVER per abilitare il recupero di un pacchetto di SSIS archiviato in SQL Server con l'autenticazione di SQL Server. Non è corretto specificare SOURCEUSER in una riga di comando che non include le opzioni SIGN SQL, COPY SQL o MOVE SQL.
Nota:
Se possibile, utilizzare l'autenticazione di Windows.
/SQ[L] package_path
Specifica la posizione di un pacchetto di SSIS. Questa opzione indica che il pacchetto è archiviato nel database msdb. L'argomento package_path specifica il percorso e il nome del pacchetto di SSIS. I nomi delle cartelle terminano con una barra rovesciata.
Se si specifica l'opzione SQL nella stessa riga di comando di una delle opzioni seguenti, viene restituito un errore DTEXEC_DTEXECERROR:
- DTS
- FILE
L'opzione SQL può essere accompagnata da zero o da un'istanza delle opzioni seguenti: - SOURCEUSER
- SOURCEPASSWORD
- SOURCESERVER
Se non si include SOURCEUSERNAME, per accedere al pacchetto viene utilizzata l'autenticazione di Windows. L'utilizzo di SOURCEPASSWORD è consentito solo se è presente SOURCEUSER. Se si omette l'opzione SOURCEPASSWORD, viene utilizzata una password vuota.
Importante:
Non utilizzare una password vuota. Utilizzare una password complessa.
Codici di uscita di dtutil
dtutil imposta un codice di uscita di avviso nel caso in cui vengano rilevati errori di sintassi, siano stati utilizzati argomenti non corretti oppure siano state specificate combinazioni di opzioni non valide. In caso contrario, l'utilità visualizza il messaggio "Operazione completata". Nella tabella seguente sono elencati i valori che l'utilità dtutil può impostare all'uscita.
Valore | Descrizione |
---|---|
0 |
L'esecuzione dell'utilità ha avuto esito positivo. |
1 |
L'esecuzione dell'utilità ha avuto esito negativo. |
4 |
L'utilità non è in grado di individuare il pacchetto richiesto. |
5 |
L'utilità non è in grado di caricare il pacchetto richiesto. |
6 |
L'utilità non è in grado di risolvere la riga di comando perché contiene errori sintattici o semantici. |
Osservazioni
Non è possibile utilizzare file di comando o reindirizzamenti con dtutil.
L'ordine delle opzioni all'interno della riga di comando non è significativo.
Esempi
Negli esempi seguenti vengono illustrati in dettaglio alcuni scenari tipici di utilizzo della riga di comando.
Esempi di copia
Per copiare nell'archivio pacchetti SSIS un pacchetto archiviato nel database msdb in un'istanza locale di SQL Server tramite l'autenticazione di Windows, utilizzare la sintassi seguente:
dtutil /SQL srcPackage /COPY DTS;destPackage
Per copiare in una posizione diversa un pacchetto da una posizione qualsiasi del file system e assegnare alla copia un nome diverso, utilizzare la sintassi seguente:
dtutil /FILE c:\myPackages\mypackage.dtsx /COPY FILE;c:\myTestPackages\mynewpackage.dtsx
Per copiare un pacchetto nel file system locale in un'istanza di SQL Server che risiede in un altro computer, utilizzare la sintassi seguente:
dtutil / FILE c:\sourcepkg.dtsx / COPY SQL;destpkgname
Poiché non sono state utilizzate le opzioni /DestU[ser] e /DestP[assword], verrà utilizzata l'autenticazione di Windows.
Per creare un nuovo ID per un pacchetto dopo averlo copiato, utilizzare la sintassi seguente:
dtutil /I /FILE copiedpkg.dtsx
Per creare un nuovo ID per tutti i pacchetti presenti in una cartella specifica, utilizzare la sintassi seguente:
for %%f in (C:\test\SSISPackages\*.dtsx) do dtutil.exe /I /FILE %%f
Utilizzare un simbolo di percentuale singolo (%) quando si digita il comando al prompt dei comandi. Utilizzare un simbolo di percentuale doppio (%%) se si utilizza il comando in un file batch.
Esempi di eliminazione
Per eliminare un pacchetto archiviato nel database msdb in un'istanza di SQL Server che utilizza l'autenticazione di Windows, utilizzare la sintassi seguente:
dtutil /SQL delPackage /DELETE
Per eliminare un pacchetto archiviato nel database msdb in un'istanza di SQL Server che utilizza l'autenticazione di SQL Server, utilizzare la sintassi seguente:
dtutil /SQL delPackage /SOURCEUSER srcUserName /SOURCEPASSWORD #8nGs*w7F /DELETE
[!NOTA] Per eliminare un pacchetto da un server specificato, includere l'opzione SOURCESERVER e il relativo argomento. Un server può essere specificato solo utilizzando l'opzione SQL.
Per eliminare un pacchetto archiviato nell'archivio pacchetti SSIS, utilizzare la sintassi seguente:
dtutil /DTS delPackage.dtsx /DELETE
Per eliminare un pacchetto archiviato nel file system, utilizzare la sintassi seguente:
dtutil /FILE c:\delPackage.dtsx /DELETE
Esempi di verifica dell'esistenza
Per determinare se un pacchetto esiste nel database msdb in un'istanza locale di SQL Server che utilizza l'autenticazione di Windows, utilizzare la sintassi seguente:
dtutil /SQL srcPackage /EXISTS
Per determinare se un pacchetto esiste nel database msdb in un'istanza locale di SQL Server che utilizza l'autenticazione di SQL Server, utilizzare la sintassi seguente:
dtutil SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD *hY$d56b /EXISTS
[!NOTA] Per determinare se un pacchetto esiste in un server specificato, includere l'opzione SOURCESERVER e il relativo argomento. Un server può essere specificato solo utilizzando l'opzione SQL.
Per determinare se un pacchetto esiste nell'archivio pacchetti locale, utilizzare la sintassi seguente:
dtutil /DTS srcPackage.dtsx /EXISTS
Per determinare se un pacchetto esiste nel file system locale, utilizzare la sintassi seguente:
dtutil /FILE c:\srcPackage.dtsx /EXISTS
Esempi di spostamento
Per spostare un pacchetto archiviato nell'archivio pacchetti SSIS nel database msdb in un'istanza locale di SQL Server che utilizza l'autenticazione di Windows, utilizzare la sintassi seguente:
dtutil /DTS srcPackage.dtsx /MOVE SQL;destPackage
Per spostare un pacchetto archiviato nel database msdb in un'istanza locale di SQL Server che utilizza l'autenticazione di SQL Server nel database msdb in un'istanza locale diversa di SQL Server che utilizza l'autenticazione di SQL Server, utilizzare la sintassi seguente:
dtutil /SQL srcPackage /SOURCEUSER srcUserName /SOURCEPASSWORD $Hj45jhd@X /MOVE SQL;destPackage /DESTUSER destUserName /DESTPASSWORD !38dsFH@v
[!NOTA] Per spostare un pacchetto da un server specificato a un altro, includere le opzioni SOURCES e DESTS assieme ai relativi argomenti. Un server può essere specificato solo utilizzando l'opzione SQL.
Per spostare un pacchetto archiviato nell'archivio pacchetti SSIS, utilizzare la sintassi seguente:
dtutil /DTS srcPackage.dtsx /MOVE DTS;destPackage.dtsx
Per spostare un pacchetto archiviato nel file system, utilizzare la sintassi seguente:
dtutil /FILE c:\srcPackage.dtsx /MOVE FILE;c:\destPackage.dtsx
Esempi di firma
Per firmare un pacchetto archiviato in un database di SQL Server in un'istanza locale di SQL Server che utilizza l'autenticazione di Windows, utilizzare la sintassi seguente:
dtutil /FILE srcPackage.dtsx /SIGN FILE;destpkg.dtsx;1767832648918a9d989fdac9819873a91f919
Per individuare le informazioni sul certificato, utilizzare CertMgr. Per visualizzare il codice hash nell'utilità CertMgr, selezionare il certificato e fare clic su Visualizza per visualizzare le proprietà. Nella scheda Dettagli sono disponibili ulteriori informazioni sul certificato. La proprietà Thumbprint viene utilizzata come valore hash, rimuovendo gli spazi.
[!NOTA] L'hash utilizzato in questo esempio non è un hash reale.
Per ulteriori informazioni, vedere la sezione relativa a CertMgr in Firma e controllo del codice con Authenticode.
Esempi di crittografia
Nell'esempio seguente viene eseguita la crittografia del pacchetto PackageToEncrypt.dtsx basato su file nel pacchetto EncryptedPackage.dts basato su file utilizzando la crittografia completa dei pacchetti e una password. La password utilizzata per la crittografia è EncPswd.
dtutil /FILE PackageToEncrypt.dtsx /ENCRYPT file;EncryptedPackage.dtsx;3;EncPswd
Vedere anche
Altre risorse
Procedura: Esecuzione di un pacchetto in Business Intelligence Development Studio
Considerazioni su Integration Services in computer a 64 bit
Guida in linea e informazioni
Cronologia modifiche
Versione | Cronologia |
---|---|
17 luglio 2006 |
|
5 dicembre 2005 |
|