Condividi tramite


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.

ms162820.note(it-it,SQL.90).gifNota:

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.

ms162820.note(it-it,SQL.90).gifNota:

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.

ms162820.note(it-it,SQL.90).gifNota:

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.

ms162820.note(it-it,SQL.90).gifImportante:

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

Assistenza su SQL Server 2005

Cronologia modifiche

Versione Cronologia

17 luglio 2006

Contenuto modificato:
  • Correzione del nome e delle opzioni SOURCESERVER.
  • Annotazione della possibilità di eseguire attività di dtutil in SQL Server Management Studio.

5 dicembre 2005

Contenuto modificato:
  • Aggiunta di una descrizione relativa alla firma di un pacchetto di esempio.
  • Aggiunta di un esempio relativo alla crittografia di un pacchetto.
  • Approfondimento della descrizione relativa all'utilizzo delle opzioni di copia e spostamento.