Share via


Utilità dtexec

L'utilità del prompt dei comandi dtexec viene utilizzata per configurare ed eseguire i pacchetti di SQL Server Integration Services. Con l'utilità dtexec è possibile accedere a tutte le funzionalità di configurazione ed esecuzione dei pacchetti quali parametri, connessioni, proprietà, variabili, registrazione e indicatori di stato. L'utilità dtexec consente di caricare i pacchetti da queste origini: server Integration Services, file di progetto con estensione ispac, database di Microsoft SQL Server, archivio pacchetti SSIS e file system.

[!NOTA]

Quando si utilizza la versione dell'utilità dtexec fornita con SQL Server 2012 Integration Services (SSIS) per eseguire un pacchetto SQL Server 2005 Integration Services (SSIS) o SQL Server 2008 Integration Services (SSIS), Integration Services aggiorna temporaneamente il pacchetto a SQL Server 2012 Integration Services (SSIS). Tuttavia, non è possibile utilizzare l'utilità dtexec per salvare queste modifiche aggiornate. Per ulteriori informazioni su come rendere permanente l'aggiornamento di un pacchetto a SQL Server 2012 Integration Services (SSIS), vedere Aggiornare pacchetti di Integration Services.

In questo argomento sono incluse le sezioni seguenti:

  • Integration Services Server and Project File

  • Installation Considerations on 64-bit Computers

  • Considerations for Side-by-Side Installations

  • Phases of Execution

  • Exit Codes Returned

  • Syntax Rules

  • Using dtexec from the xp_cmdshell

  • Syntax

  • Parameters

  • Remarks

  • Examples

Server Integration Services e file di progetto

Quando si utilizza dtexec per l'esecuzione dei pacchetti nel server Integration Services, tramite dtexec è possibile chiamare le stored procedure catalog.create_execution (database SSISDB), catalog.set_execution_parameter_value (database SSISDB) e catalog.start_execution (database SSISDB) per creare un'esecuzione, impostare i valori dei parametri e avviare l'esecuzione. Tutti i log di esecuzione possono essere visualizzati dal server nelle viste correlate o tramite report standard disponibili in SQL Server Management Studio. Per ulteriori informazioni sui report, vedere Report per il server Integration Services.

Di seguito è riportato un esempio relativo all'esecuzione di un pacchetto nel server Integration Services.

DTExec /ISSERVER "\SSISDB\folderB\Integration Services Project17\Package.dtsx" /SERVER "." /Envreference 2 /Par "$Project::ProjectParameter(Int32)";1 /Par "Parameter(Int32)";21 /Par "CM.sqlcldb2.SSIS_repro.InitialCatalog";ssisdb /Par "$ServerOption::SYNCHRONIZED(Boolean)";True

Quando si usa dtexec per eseguire un pacchetto dal file di progetto con estensione ispac, le opzioni correlate sono /Proj[ect] e /Pack[age], usate per specificare il percorso del progetto e il nome di flusso del pacchetto. Quando si converte un progetto nel modello di distribuzione del progetto eseguendo la Conversione guidata progetto di Integration Services da SQL Server Management Studio, tramite la procedura guidata viene generato un file di progetto con estensione ispac. Per ulteriori informazioni, vedere Distribuire progetti nel server Integration Services.

È possibile utilizzare dtexec con gli strumenti di pianificazione di terze parti per pianificare i pacchetti distribuiti nel server Integration Services.

Considerazioni sull'installazione in computer a 64 bit

In un computer a 64 bit con Integration Services viene installata una versione a 64 bit dell'utilità dtexec (dtexec.exe). Se è necessario eseguire pacchetti specifici in modalità a 32 bit, sarà necessario installare la versione a 32 bit dell'utilità dtexec. Per installare la versione a 32 bit dell'utilità dtexec, è necessario selezionare gli strumenti client o SQL Server Data Tools (SSDT) durante l'installazione.

Per impostazione predefinita, un computer a 64 bit contenente le versioni a 64 bit e a 32 bit di un'utilità del prompt dei comandi di Integration Services installata eseguirà la versione a 32 bit al prompt dei comandi. Viene eseguita la versione a 32 bit perché il percorso della directory della versione a 32 bit compare nella variabile di ambiente PATH prima del percorso della directory della versione a 64 bit. In genere, il percorso della directory a 32 bit è <unità>:\Programmi (x86) \Microsoft SQL Server\110\DTS\Binn, mentre il percorso della directory a 64 bit è <unità>:\Programmi\Microsoft SQL Server\110\DTS\Binn.

[!NOTA]

Se si utilizza SQL Server Agent per eseguire l'utilità, verrà automaticamente utilizzata la versione a 64 bit dell'utilità. Per trovare l'eseguibile corretto per l'utilità, SQL Server Agent utilizza il Registro di sistema, non la variabile di ambiente PATH.

Per assicurarsi di eseguire la versione a 64 bit dell'utilità al prompt dei comandi, è possibile eseguire una delle azioni seguenti:

  • Aprire una finestra del prompt dei comandi, accedere alla directory che contiene la versione a 64 bit dell'utilità (<unità>:\Programmi\Microsoft SQL Server\110\DTS\Binn), quindi eseguire l'utilità da quel percorso.

  • Al prompt dei comandi, eseguire l'utilità immettendo il percorso completo (<unità>:\Programmi\Microsoft SQL Server\110\DTS\Binn) della versione a 64 bit dell'utilità.

  • Modificare in modo definitivo l'ordine dei percorsi nella variabile di ambiente PATH spostando il percorso della versione a 64 bit (<unità>:\Programmi\Microsoft SQL Server\110\DTS\Binn) prima del percorso della versione a 32 bit (<unità>:\Programmi(x86)\Microsoft SQL Server\110\DTS\Binn).

Considerazioni sui computer con installazioni side-by-side

Se SQL Server 2012 Integration Services (SSIS) è installato in un computer con SQL Server 2005 Integration Services (SSIS) o SQL Server 2008 Integration Services (SSIS), vengono installate più versioni dell'utilità dtexec.

Per essere sicuri di eseguire la versione corretta dell'utilità, al prompt dei comandi eseguirla immettendo il percorso completo (<unità>:\Programmi\Microsoft SQL Server\<versione>\DTS\Binn).

Fasi di esecuzione

L'esecuzione di questa utilità si articola nelle quattro fasi descritte di seguito.

  1. Determinazione dell'origine del comando: il prompt dei comandi legge l'elenco delle opzioni e degli argomenti specificati. Tutte le fasi successive vengono ignorate se viene rilevata un'opzione /? o /HELP.

  2. Caricamento dei pacchetti: viene caricato il pacchetto specificato dall'opzione /SQL, /FILE o /DTS.

  3. Configurazione: le opzioni vengono elaborate nell'ordine riportato di seguito.

    • Opzioni che impostano i flag, le variabili e le proprietà dei pacchetti.

    • Opzioni che verificano la versione e la build del pacchetto.

    • Opzioni che configurano il comportamento dell'utilità in fase di esecuzione, ad esempio la creazione di report.

  4. Convalida ed esecuzione: il pacchetto viene eseguito o convalidato, ma non eseguito se è stata specificata l'opzione /VALIDATE.

Codici di uscita restituiti

Codici di uscita restituiti dall'utilità dtexec

Durante l'esecuzione di un pacchetto è possibile che dtexec restituisca un codice di uscita. Il codice di uscita viene utilizzato per popolare la variabile ERRORLEVEL, il cui valore può essere testato nelle istruzioni condizionali o nella logica di diramazione in un file batch. Nella tabella seguente vengono elencati i valori che l'utilità dtexec può impostare all'uscita.

Valore

Descrizione

0

Il pacchetto è stato eseguito correttamente.

1

Il pacchetto non è stato eseguito.

3

L'esecuzione del pacchetto è stata annullata dall'utente.

4

L'utilità non è stata in grado di individuare il pacchetto richiesto. Risulta impossibile trovare il pacchetto.

5

L'utilità non è stata in grado di caricare il pacchetto richiesto. Risulta impossibile caricare il pacchetto.

6

L'utilità ha rilevato un errore interno oppure un errore sintattico o semantico nella riga di comando.

Regole della sintassi

Regole di sintassi dell'utilità

Tutte le opzioni devono essere precedute da una barra (/) o un segno meno (-). Le opzioni riportate di seguito sono precedute da una barra (/), che può tuttavia essere sostituita dal segno meno (-).

Se l'argomento contiene uno spazio, deve essere racchiuso tra virgolette. Se non è racchiuso tra virgolette, un argomento non può contenere spazi vuoti.

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.

Utilizzo di dtexec da xp_cmdshell

Utilizzo di dtexec da xp_cmdshell

È possibile eseguire dtexec dal prompt di xp_cmdshell. Nell'esempio seguente viene illustrato come eseguire un pacchetto denominato UpsertData.dtsx e ignorare il codice restituito:

EXEC xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'

Nell'esempio seguente viene illustrato come eseguire lo stesso pacchetto e acquisire il codice restituito:

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'
Nota importanteImportante

Per impostazione predefinita, in Microsoft SQL Server l'opzione xp_cmdshell risulta disabilitata nelle nuove installazioni. L'opzione può essere abilitata eseguendo la stored procedure di sistema sp_configure. Per ulteriori informazioni, vedere Opzione di configurazione del server xp_cmdshell.

Sintassi

dtexec /option [value] [/option [value]]...

Parametri

Opzione

Descrizione

/?[option_name]

(Facoltativo) Consente di visualizzare le opzioni del prompt dei comandi o le informazioni della Guida relative all'opzione option_name specificata e quindi di chiudere l'utilità.

Se si specifica un argomento option_name, tramite dtexec viene avviata la documentazione online di SQL Server e viene visualizzato l'argomento relativo all'utilità dtexec.

/Ca[llerInfo]

(Facoltativo) Specifica informazioni aggiuntive per l'esecuzione di un pacchetto. Quando si esegue un pacchetto utilizzando SQL Server Agent, tramite l'agente è possibile impostare questo argomento per specificare che l'esecuzione del pacchetto venga richiamata da SQL Server Agent. Questo parametro viene ignorato quando l'utilità dtexec viene eseguita dalla riga di comando.

/CheckF[ile] filespec

(Facoltativo) Imposta la proprietà CheckpointFileName del pacchetto sul percorso e sul file specificati in filespec. Questo file viene utilizzato quando il pacchetto viene riavviato. Se si specifica questa opzione ma si omette il valore del nome file, la proprietà CheckpointFileName del pacchetto viene impostata su una stringa vuota. Se si omette questa opzione, i valori nel pacchetto vengono conservati.

/CheckP[ointing]{on\off}

(Facoltativo) Consente di impostare un valore che determina se il pacchetto utilizzerà i checkpoint durante l'esecuzione. L'impostazione del valore on indica che un pacchetto la cui esecuzione ha avuto esito negativo deve essere rieseguito. In questo caso, il motore di run-time utilizza il file del checkpoint per riavviare il pacchetto dal punto in cui si è verificato l'errore.

Il valore predefinito è on se l'opzione viene dichiarata senza un valore. L'esecuzione del pacchetto avrà esito negativo se il valore viene impostato su on, ma non risulta possibile trovare il file del checkpoint. Se si omette questa opzione, il valore impostato nel pacchetto viene conservato. Per ulteriori informazioni, vedere Riavvio dei pacchetti tramite checkpoint.

L'opzione /CheckPointing on di dtexec equivale all'impostazione della proprietà SaveCheckpoints del pacchetto su TRUE e della proprietà CheckpointUsage su ALWAYS.

/Com[mandFile] filespec

(Facoltativo) Specifica le opzioni di comando eseguite con dtexec. Il file specificato in filespec viene aperto e le relative opzioni vengono lette finché non viene rilevata la fine del file. filespec è un file di testo. L'argomento filespec consente di specificare il nome e il percorso del file di comando da associare all'esecuzione del pacchetto.

/Conf[igFile] filespec

(Facoltativo) Consente di specificare un file di configurazione da cui estrarre valori. Se si utilizza questa opzione, è possibile impostare una configurazione della fase di esecuzione diversa rispetto alla configurazione specificata in fase di progettazione per il pacchetto. È possibile archiviare impostazioni di configurazione diverse in un file di configurazione XML, quindi caricare tali impostazioni tramite l'opzione /ConfigFile prima dell'esecuzione del pacchetto.

È possibile utilizzare l'opzione /ConfigFile per caricare in fase di esecuzione configurazioni aggiuntive non specificate in fase di progettazione. Non è tuttavia possibile utilizzare l'opzione /ConfigFile per sostituire valori configurati specificati anche in fase di progettazione. Per informazioni sull'applicazione delle configurazioni dei pacchetti, vedere Configurazioni di pacchetto.

/Conn[ection] id_or_name;connection_string [[;id_or_name;connection_string]…]

(Facoltativo) Consente di specificare che la gestione connessione con il nome o il GUID indicato si trova nel pacchetto e che è stata specificata una stringa di connessione.

Questa opzione richiede che vengano specificati entrambi i parametri: il nome o il GUID della gestione connessione deve essere specificato nell'argomento id_or_name, mentre nell'argomento connection_string deve essere specificata una stringa di connessione valida. Per ulteriori informazioni, vedere Connessioni in Integration Services (SSIS).

In fase di esecuzione è possibile utilizzare l'opzione /Connection per caricare le configurazioni di pacchetto da una posizione diversa da quella specificata in fase di progettazione. I valori di queste configurazioni sostituiscono i valori specificati in origine. È tuttavia possibile utilizzare l'opzione /Connection solo per le configurazioni che utilizzano una gestione connessione, ad esempio le configurazioni SQL Server. Per informazioni sull'applicazione delle configurazioni dei pacchetti, vedere Configurazioni di pacchetto e Differenze di funzionamento delle funzionalità di Integration Services in SQL Server 2012.

/Cons[oleLog] [[displayoptions];[list_options;src_name_or_guid]...]

(Facoltativo) Consente di visualizzare le voci di log specificate nella console durante l'esecuzione del pacchetto. Se questa opzione viene omessa, non verrà visualizzata alcuna voce di log nella console. Se si specifica l'opzione senza tuttavia alcun parametro per limitare la visualizzazione, verrà visualizzata ogni voce di log. Per limitare il numero di voci visualizzate nella console, è possibile specificare le colonne da visualizzare tramite il parametro displayoptions e limitare i tipi di voci di log tramite il parametro list_options.

Sono disponibili i valori displayoptions seguenti:

  • N (Name)

  • C (Computer)

  • O (Operator)

  • S (Source Name)

  • G (Source GUID)

  • X (Execution GUID)

  • M (Message)

  • T (Time Start and End)

Sono disponibili i valori list_options seguenti:

  • I - Specifica l'elenco di inclusione. Solo i nomi o i GUID delle origini specificati vengono registrati.

  • E - Specifica l'elenco di esclusione. I nomi o i GUID delle origini specificati non vengono registrati.

  • Il parametro src_name_or_guid specificato per inclusioni o esclusioni è un nome di evento o un nome o un GUID dell'origine.

Se nello stesso prompt dei comandi si utilizzano più opzioni /ConsoleLog, queste interagiscono nel modo di seguito descritto:

  • L'ordine di visualizzazione non è significativo.

  • Se nella riga di comando non sono presenti elenchi di inclusioni, gli elenchi di esclusioni vengono applicati a tutti i tipi di voci di log.

  • Se nella riga di comando sono presenti elenchi di inclusione, all'unione di tutti gli elenchi di inclusione vengono applicati gli elenchi di esclusione.

Per alcuni esempi relativi all'opzione /ConsoleLog, vedere la sezione Osservazioni.

/D[ts] package_path

(Facoltativo) Carica un pacchetto dall'archivio pacchetti SSIS. I pacchetti archiviati nell'archivio pacchetti SSIS vengono distribuiti tramite il modello di distribuzione del pacchetto legacy. Per eseguire i pacchetti distribuiti nel server Integration Services tramite il modello di distribuzione del progetto, utilizzare l'opzione /ISServer. Per ulteriori informazioni sui modelli di distribuzione del pacchetto e del progetto, vedere Distribuzione di progetti e pacchetti.

L'argomento package_path consente di specificare il percorso relativo del pacchetto SSIS a partire dalla radice dell'archivio pacchetti SSIS e include il nome del pacchetto SSIS. Se nel percorso o nel nome file specificato nell'argomento package_path è contenuto uno spazio, è necessario racchiudere l'argomento package_path tra virgolette.

L'opzione /DTS non può essere utilizzata in combinazione con l'opzione /File o /SQL. Se si specificano più opzioni, l'esecuzione di dtexec avrà esito negativo.

/De[crypt] password

(Facoltativo) Consente di impostare la password di decrittografia utilizzata per caricare un pacchetto con password crittografata.

/Dumperror code

(Facoltativo) Consente di creare i file di dump del debug, con estensione MDMP e TMP, quando si verificano uno o più eventi specificati durante l'esecuzione del pacchetto. L'argomento error code specifica il tipo di codice evento (errore, avviso o informazione) che genera la creazione di file di dump del debug. Per specificare più codici evento, separare ciascun argomento error code con un punto e virgola (;). Non includere virgolette con l'argomento error code.

Nell'esempio seguente vengono generati i file di dump del debug se si verifica l'errore DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.

/Dump 0xC020801C

Per impostazione predefinita, i file di dump del debug vengono archiviati da Integration Services nella cartella <unità>:\Programmi\Microsoft SQL Server\110\Shared\ErrorDumps.

[!NOTA]

I file di dump del debug possono contenere informazioni riservate. Utilizzare un elenco di controllo di accesso (ACL) per limitare l'accesso ai file oppure copiare i file in una cartella con accesso limitato. Ad esempio, prima di inviare i file del debug al supporto tecnico Microsoft, si consiglia di rimuovere eventuali informazioni sensibili o riservate.

Per applicare questa opzione a tutti i pacchetti eseguiti dall'utilità dtexec, aggiungere un valore REG_SZ DumpOnCodes alla chiave del Registro di sistema HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. Il valore dei dati in DumpOnCodes specifica i codici di errore che generano la creazione di file di dump del debug. Più codici di errore devono essere separati da un punto e virgola (;).

Se si aggiunge un valore DumpOnCodes alla chiave del Registro di sistema e si utilizza l'opzione /Dump, verranno creati file di dump del debug basati su entrambe le impostazioni.

Per ulteriori informazioni sui file di dump del debug, vedere Generazione di file di dump per l'esecuzione del pacchetto.

/DumpOnError

(Facoltativo) Consente di creare i file di dump del debug, con estensione MDMP e TMP, quando si verifica un errore durante l'esecuzione del pacchetto.

Per impostazione predefinita, i file di dump del debug vengono archiviati da Integration Services nella cartella <unità>:\Programmi\Microsoft SQL Server\110\Shared\ErrorDumps.

[!NOTA]

I file di dump del debug possono contenere informazioni riservate. Utilizzare un elenco di controllo di accesso (ACL) per limitare l'accesso ai file oppure copiare i file in una cartella con accesso limitato. Ad esempio, prima di inviare i file del debug al supporto tecnico Microsoft, si consiglia di rimuovere eventuali informazioni sensibili o riservate.

Per applicare questa opzione a tutti i pacchetti eseguiti dall'utilità dtexec, aggiungere un valore REG_DWORD DumpOnError alla chiave del Registro di sistema HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. Il valore REG_DWORD DumpOnError determina se è necessario utilizzare l'opzione /DumpOnError con l'utilità dtexec:

  • Un valore dei dati diverso da zero indica che verranno creati file di dump del debug quando si verifica un errore, indipendentemente dall'utilizzo dell'opzione /DumpOnError con l'utilità dtexec.

  • Un valore dei dati pari a zero indica che non verranno creati file di dump del debug a meno che non venga utilizzata l'opzione /DumpOnError con l'utilità dtexec.

Per ulteriori informazioni sui file di dump del debug, vedere Generazione di file di dump per l'esecuzione del pacchetto.

/Env[Reference] environment reference ID

(Facoltativo) Specifica il riferimento all'ambiente (ID) utilizzato dall'esecuzione del pacchetto, per un pacchetto distribuito nel server Integration Services. Nei parametri configurati per l'associazione alle variabili verranno utilizzati i valori delle variabili contenuti nell'ambiente.

È possibile utilizzare l'opzione /Env[Reference] in combinazione con le opzioni /ISServer e /Server.

Questo parametro viene utilizzato da SQL Server Agent.

/F[ile] filespec

(Facoltativo) Carica un pacchetto salvato nel file system. I pacchetti salvati nel file system vengono distribuiti tramite il modello di distribuzione del pacchetto legacy. Per eseguire i pacchetti distribuiti nel server Integration Services tramite il modello di distribuzione del progetto, utilizzare l'opzione /ISServer. Per ulteriori informazioni sui modelli di distribuzione del pacchetto e del progetto, vedere Distribuzione di progetti e pacchetti.

L'argomento filespec specifica il percorso e il nome file del pacchetto. È possibile specificare il percorso in formato UNC (Universal Naming Convention) o come percorso locale. Se nel percorso o nel nome file specificato nell'argomento filespec è contenuto uno spazio, è necessario racchiudere l'argomento filespec tra virgolette.

L'opzione /File non può essere utilizzata in combinazione con l'opzione /DTS o /SQL. Se si specificano più opzioni, l'esecuzione di dtexec avrà esito negativo.

/H[elp] [option_name]

(Facoltativo) Consente di visualizzare le informazioni della Guida relative alle opzioni o all'opzione specificata dall'argomento option_name e quindi di chiudere l'utilità.

Se si specifica un argomento option_name, tramite dtexec viene avviata la documentazione online di SQL Server e viene visualizzato l'argomento relativo all'utilità dtexec.

/ISServer packagepath

(Facoltativo) Esegue un pacchetto distribuito nel server Integration Services. Con l'argomento PackagePath vengono specificati il percorso completo e il nome file del pacchetto distribuito nel server Integration Services. Se nel percorso o nel nome file specificato nell'argomento PackagePath è contenuto uno spazio, è necessario racchiudere l'argomento PackagePath tra virgolette.

Il formato del pacchetto è il seguente:

\<catalog name>\<folder name>\<project name>\package file name

È possibile utilizzare l'opzione /Server in combinazione con l'opzione /ISSERVER. Un pacchetto nel server SSIS può essere eseguito solo con l'autenticazione di Windows. Per accedere al pacchetto viene utilizzato l'utente corrente di Windows. Se si omette l'opzione /Server, viene utilizzata l'istanza locale predefinita di SQL Server.

L'opzione /ISSERVER non può essere utilizzata in combinazione con l'opzione /DTS, /SQL o /File. Se si specificano più opzioni, l'esecuzione di dtexec avrà esito negativo.

Questo parametro viene utilizzato da SQL Server Agent.

/L[ogger] classid_orprogid;configstring

(Facoltativo) Associa uno o più provider di log all'esecuzione di un pacchetto di SSIS. Il parametro classid_orprogid specifica il provider di log e può essere specificato come un GUID di classe. L'argomento configstring è la stringa utilizzata per configurare il provider di log.

Di seguito sono elencati i provider di log disponibili:

  • File di testo

    • ProgID: DTS.LogProviderTextFile.1

    • ClassID: {59B2C6A5-663F-4C20-8863-C83F9B72E2EB}

  • SQL Server Profiler:

    • ProgID: DTS.LogProviderSQLProfiler.1

    • ClassID: {5C0B8D21-E9AA-462E-BA34-30FF5F7A42A1}

  • SQL Server:

    • ProgID: DTS.LogProviderSQLServer.1

    • ClassID: {6AA833A1-E4B2-4431-831B-DE695049DC61}

  • Registro eventi di Windows

    • ProgID: DTS.LogProviderEventLog.1

    • ClassID: {97634F75-1DC7-4F1F-8A4C-DAF0E13AAA22}

  • File XML

    • ProgID: DTS.LogProviderXMLFile.1

    • ClassID: {AFED6884-619C-484F-9A09-F42D56E1A7EA}

/M[axConcurrent] concurrent_executables

(Facoltativo) Consente di specificare il numero di file eseguibili che il pacchetto è in grado di eseguire contemporaneamente. Il valore specificato deve essere un valore intero non negativo oppure -1. Il valore -1 indica che SSIS supporta un numero massimo di file eseguibili in esecuzione simultanea uguale al numero totale di processori nel computer in cui è eseguito il pacchetto, più due.

/Pack[age] PackageName

(Facoltativo) Specifica il pacchetto che viene eseguito. Questo parametro viene utilizzato principalmente quando si esegue il pacchetto da Visual Studio.

/P[assword] password

(Facoltativo) Consente il recupero di un pacchetto protetto tramite l'autenticazione di SQL Server. Questa opzione viene utilizzata in combinazione con l'opzione /User. Se si omette l'opzione /Password e viene utilizzata l'opzione /User, verrà utilizzata una password vuota. Il valore di password può essere racchiuso tra virgolette.

Nota sulla sicurezzaNota sulla sicurezza

Se possibile, utilizzare l'autenticazione di Windows.

/Par[ameter] [$Package:: | $Project:: | $ServerOption::] parameter_name [(data_type)]; literal_value

(Facoltativo) Specifica i valori dei parametri. È possibile specificare più opzioni /Parameter. I tipi di dati sono CLR TypeCodes come stringhe. Per un parametro non stringa, il tipo di dati viene specificato in parentesi, dopo il nome del parametro.

L'opzione /Parameter può essere usata solo insieme all'opzione /ISServer.

È possibile utilizzare i prefissi $Package, $Project e $ServerOption per indicare rispettivamente un parametro di pacchetto, un parametro di progetto e un parametro di opzione server. Il pacchetto è il tipo di parametro predefinito.

Di seguito è riportato un esempio relativo all'esecuzione di un pacchetto e all'impostazione di myvalue per il parametro di progetto (myparam) e del valore intero 12 per il parametro di pacchetto (anotherparam).

Dtexec /isserver “SSISDB\MyFolder\MyProject\MyPackage.dtsx” /server “.” /parameter $Project::myparam;myvalue /parameter anotherparam(int32);12

È inoltre possibile impostare le proprietà di gestione connessione utilizzando i parametri. Per identificare un parametro di gestione connessione utilizzare il prefisso CM.

Nell'esempio seguente la proprietà InitialCatalog della gestione connessione SourceServer è impostata su ssisdb.

/parameter CM.SourceServer.InitialCatalog;ssisdb

Nell'esempio seguente la proprietà ServerName della gestione connessione SourceServer è impostata su un punto (.) per indicare il server locale.

/parameter CM.SourceServer.ServerName;.

/Proj[ect] ProjectFile

(Facoltativo) Specifica il progetto da cui recuperare il pacchetto che viene eseguito. Con l'argomento ProjectFile viene specificato il nome file con estensione ispac. Questo parametro viene utilizzato principalmente quando si esegue il pacchetto da Visual Studio.

/Rem comment

(Facoltativo) Include i commenti nel prompt dei comandi o nei file di comando. L'argomento è facoltativo. Il valore di comment è una stringa che deve essere racchiusa tra virgolette o non deve contenere spazi. Se non si specifica alcun argomento, viene inserita una riga vuota. Durante la fase di determinazione dell'origine del comando, i valori comment vengono eliminati.

/Rep[orting] level [;event_guid_or_name[;event_guid_or_name[...]]

(Facoltativo) Specifica i tipi di messaggi da segnalare. Le opzioni relative alle opzioni per level sono elencate di seguito:

N    Nessun report.

E    Gli errori vengono segnalati.

W    Gli avvisi vengono segnalati.

I    I messaggi informativi vengono segnalati.

C    Gli eventi personalizzati vengono segnalati.

D    Gli eventi relativi alle attività Flusso di dati vengono segnalati.

P    Lo stato viene segnalato.

V    Report dettagliati.

Gli argomenti V e N escludono tutti gli altri argomenti e pertanto devono essere specificati da soli. Se non si specifica /Reporting, il livello predefinito è E (errori), W (avvisi) e P (stato).

Tutti gli eventi sono preceduti da un timestamp nel formato "AA/MM/GG HH:MM:SS" e da un GUID o un nome descrittivo se disponibile.

Il parametro facoltativo event_guid_or_name è un elenco di eccezioni per i provider di log, ovvero gli eventi da non registrare che potrebbero altrimenti essere stati registrati.

Non è necessario escludere un evento se normalmente non viene registrato per impostazione predefinita.

/Res[tart] {deny | force | ifPossible}

(Facoltativo) Specifica un nuovo valore per la proprietà CheckpointUsage nel pacchetto. Di seguito è descritto il significato di ogni parametro.

Deny    Imposta la proprietà CheckpointUsage su DTSCU_NEVER.

Force    Imposta la proprietà CheckpointUsage su DTSCU_ALWAYS.

ifPossible    Imposta la proprietà CheckpointUsage su DTSCU_IFEXISTS.

Se non si specifica alcun valore, viene utilizzato il valore predefinito di force.

/Set [$Sensitive::]propertyPath;value

(Facoltativo) Ignora la configurazione di un parametro, una variabile, una proprietà, un contenitore, un provider di log, un enumeratore Foreach o una connessione all'interno di un pacchetto. Se si specifica questa opzione, /Set modifica il valore dell'argomento propertyPath nel valore specificato. È possibile specificare più opzioni /Set.

Oltre a essere usata con l'opzione /F[ile], l'opzione /Set può essere usata anche con /ISServer o /Project. Quando usata con /Project, /Set imposta i valori dei parametri. Quando usata con /ISServer, /Set imposta gli override di proprietà. Inoltre, quando /Set viene usata con /ISServer, è possibile usare il prefisso facoltativo $Sensitive per considerare sensibile la proprietà nel server Integration Services.

È possibile determinare il valore di propertyPath eseguendo la Configurazione guidata pacchetto. I percorsi per gli elementi selezionati vengono visualizzati nella pagina finale Completamento procedura guidata e possono essere copiati e incollati. Se si utilizza la procedura guidata soltanto a questo scopo, è possibile annullare la procedura guidata dopo aver copiato i percorsi.

Di seguito è riportato un esempio relativo all'esecuzione di un pacchetto salvato nel file system e all'impostazione di un nuovo valore per una variabile:

dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalue

Di seguito è riportato un esempio relativo all'esecuzione di un pacchetto dal file di progetto con estensione ispac e all'impostazione dei parametri di pacchetto e di progetto.

/Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1

È possibile utilizzare l'opzione /Set per modificare la posizione da cui vengono caricate le configurazioni di pacchetto. Non è tuttavia possibile utilizzare l'opzione /Set per ignorare un valore specificato da una configurazione in fase di progettazione. Per informazioni sull'applicazione delle configurazioni dei pacchetti, vedere Configurazioni di pacchetto e Differenze di funzionamento delle funzionalità di Integration Services in SQL Server 2012.

/Ser[ver] server

(Facoltativo) Se si specifica l'opzione /SQL o /DTS, questa opzione specifica il nome del server dal quale recuperare il pacchetto. Se si omette l'opzione /Server e si specifica l'opzione /SQL o /DTS, verrà tentata l'esecuzione del pacchetto nel server locale. Il valore di server_instance può essere racchiuso tra virgolette.

L'opzione /Ser[ver] è obbligatoria se è specificata l'opzione /ISServer.

/SQ[L] package_path

Carica un pacchetto archiviato in SQL Server nel database msdb. I pacchetti archiviati nel database msdb vengono distribuiti tramite il modello di distribuzione del pacchetto. Per eseguire i pacchetti distribuiti nel server Integration Services tramite il modello di distribuzione del progetto, utilizzare l'opzione /ISServer. Per ulteriori informazioni sui modelli di distribuzione del pacchetto e del progetto, vedere Distribuzione di progetti e pacchetti.

Con l'argomento package_path viene specificato il nome del pacchetto da recuperare. Se nel percorso vengono incluse cartelle, queste sono seguite da una barra rovesciata ("\"). Il valore package_path può essere racchiuso tra virgolette. Se nel percorso o nel nome file specificato nell'argomento package_path è contenuto uno spazio, è necessario racchiudere l'argomento package_path tra virgolette.

È possibile utilizzare l'opzione /User, /Password e /Server in combinazione con l'opzione /SQL.

Se si omette l'opzione /User, per accedere al pacchetto verrà utilizzata l'autenticazione di Windows. Se si utilizza l'opzione /User, il nome di account di accesso /User specificato viene associato all'autenticazione di SQL Server.

L'opzione /Password viene utilizzata solo in combinazione con l'opzione /User. Se si utilizza l'opzione /Password, l'accesso al pacchetto avviene in base alle informazioni sul nome utente e sulla password specificate. Se si omette l'opzione /Password, verrà utilizzata una password vuota.

Nota sulla sicurezzaNota sulla sicurezza

Se possibile, utilizzare l'autenticazione di Windows.

Se si omette l'opzione /Server, viene utilizzata l'istanza locale predefinita di SQL Server.

L'opzione /SQL non può essere utilizzata in combinazione con l'opzione /DTS o /File. Se si specificano più opzioni, l'esecuzione di dtexec avrà esito negativo.

/Su[m]

(Facoltativo) Consente di visualizzare un contatore incrementale con il numero di righe che verranno ricevute dal componente successivo.

/U[ser] user_name

(Facoltativo) Consente il recupero di un pacchetto protetto tramite l'autenticazione di SQL Server. Questa opzione viene utilizzata solo se si specifica l'opzione /SQL. Il valore user_name può essere racchiuso tra virgolette.

Nota sulla sicurezzaNota sulla sicurezza

Se possibile, utilizzare l'autenticazione di Windows.

/Va[lidate]

(Facoltativo) Consente di arrestare l'esecuzione del pacchetto dopo la fase di convalida, quindi il pacchetto non viene eseguito. Durante la convalida, se si utilizza l'opzione /WarnAsError l'utilità dtexec interpreta un avviso come un errore e pertanto il pacchetto viene chiuso se durante la convalida viene generato un avviso.

/VerifyB[uild] major[;minor[;build]]

(Facoltativo) Consente di verificare il numero di build di un pacchetto rispetto ai numeri di build specificati durante la fase di verifica negli argomenti major, minor e build. Se i numeri non corrispondono, il pacchetto non verrà eseguito.

I valori sono di tipo integer long. L'argomento può avere uno dei tre formati seguenti. Il valore major è sempre obbligatorio:

  • major

  • major;minor

  • major; minor; build

/VerifyP[ackageID] packageID

(Facoltativo) Consente di verificare il GUID del pacchetto da eseguire in base al valore specificato nell'argomento package_id.

/VerifyS[igned]

(Facoltativo) Comporta il controllo della firma digitale del pacchetto da parte di Integration Services. Se il pacchetto non è firmato o se la firma non è valida, il pacchetto ha esito negativo. Per ulteriori informazioni, vedere Identificazione dell'origine dei pacchetti con firme digitali.

Nota importanteImportante

Se Integration Services è configurato per la verifica della firma del pacchetto, gli unici controlli che vengono eseguiti sono quelli relativi alla presenza e alla validità della firma digitale, nonché all'attendibilità dell'origine. In Integration Services non viene controllato se il pacchetto è stato modificato.

[!NOTA]

Il valore facoltativo BlockedSignatureStates del Registro di sistema può specificare un'impostazione più restrittiva rispetto all'opzione per la firma digitale impostata in SQL Server Data Tools (SSDT) o alla riga di comando dtexec. In questo caso, l'impostazione del Registro di sistema più restrittiva ha la precedenza rispetto ad altre impostazioni.

/VerifyV[ersionID] versionID

(Facoltativo) Consente di verificare il GUID di versione di un pacchetto da eseguire in base al valore specificato nell'argomento version_id durante la fase di convalida del pacchetto.

/VLog[Filespec]

(Facoltativo) Consente di scrivere tutti gli eventi dei pacchetti Integration Services nei provider di log abilitati durante la progettazione del pacchetto. Per consentire l'abilitazione di un provider di log per i file di testo e la scrittura degli eventi del log in un file di testo specifico, includere un percorso e un nome file come parametro Filespec.

Se non si include il parametro Filespec, non sarà possibile abilitare un provider di log per i file di testo. Gli eventi del log verranno scritti solo nei provider di log abilitati durante la progettazione del pacchetto.

/W[arnAsError]

(Facoltativo) Poiché un avviso viene interpretato come un errore, il pacchetto non viene eseguito se durante la convalida viene generato un avviso. Se non viene generato alcun avviso durante la convalida e si omette l'opzione /Validate, il pacchetto viene eseguito.

/X86

(Facoltativo) Determina l'esecuzione del pacchetto in modalità a 32 bit in un computer a 64 bit da parte di SQL Server Agent. Questa opzione viene impostata da SQL Server Agent quando sono soddisfatte le condizioni seguenti:

  • Il tipo di passaggio del processo è Pacchetto SQL Server Integration Services.

  • L'opzione Usa runtime a 32 bit nella scheda Opzioni di esecuzione della finestra di dialogo Nuovo passaggio di processo è selezionata.

È anche possibile impostare questa opzione per un passaggio del processo di SQL Server Agent usando le stored procedure o SQL Server Management Objects (SMO) per creare il processo a livello di codice. 

Questa opzione è utilizzata solo da SQL Server Agent. Questa opzione viene ignorata se si esegue l'utilità dtexec dal prompt dei comandi.

Osservazioni

L'ordine in cui vengono specificate le opzioni del comando può influire sulla modalità di esecuzione del pacchetto:

  • Le opzioni vengono elaborate nell'ordine che occupano nella riga di comando. I file di comando vengono letti in base all'ordine con cui vengono rilevati nella riga di comando, in modo analogo ai comandi nel file di comando.

  • Se la stessa opzione, lo stesso parametro o la stessa variabile compare più volte nella stessa istruzione della riga di comando, l'ultima istanza dell'opzione avrà la precedenza sulle altre.

  • Le opzioni /Set e /ConfigFile vengono elaborate nell'ordine in cui vengono rilevate.

Esempi

Gli esempi seguenti illustrano come usare l'utilità del prompt dei comandi dtexec per configurare ed eseguire i pacchetti di SQL Server Integration Services.

Esecuzione di pacchetti

Per eseguire un pacchetto di SSIS salvato in SQL Server utilizzando l'autenticazione di Windows, utilizzare il codice seguente:

dtexec /sq pkgOne /ser productionServer

Per eseguire un pacchetto di SSIS salvato nella cartella del file system nell'archivio pacchetti SSIS, utilizzare il codice seguente:

dtexec /dts "\File System\MyPackage"

Per convalidare un pacchetto che utilizza l'autenticazione di Windows ed è salvato in SQL Server senza tuttavia eseguirlo, utilizzare il codice seguente:

dtexec /sq pkgOne /ser productionServer /va

Per eseguire un pacchetto di SSIS salvato nel file system, utilizzare il codice seguente:

dtexec /f "c:\pkgOne.dtsx" 

Per eseguire un pacchetto di SSIS salvato nel file system e per specificare le opzioni di registrazione, utilizzare il codice seguente:

dtexec /f "c:\pkgOne.dtsx" /l "DTS.LogProviderTextFile;c:\log.txt"

Per eseguire un pacchetto che utilizza l'autenticazione di Windows ed è salvato nell'istanza predefinita locale di SQL Server, e verificarne la versione prima della sua esecuzione, utilizzare il codice seguente:

dtexec /sq pkgOne /verifyv {c200e360-38c5-11c5-11ce-ae62-08002b2b79ef}

Per eseguire un pacchetto di SSIS salvato nel file system e configurato esternamente, utilizzare il codice seguente:

dtexec /f "c:\pkgOne.dtsx" /conf "c:\pkgOneConfig.cfg"

[!NOTA]

Gli argomenti package_path o filespec delle opzioni /SQL, /DTS o /FILE devono essere racchiusi tra virgolette se il percorso o il nome del file contiene uno spazio. Se non è racchiuso tra virgolette, un argomento non può contenere spazi vuoti.

Opzioni di registrazione

Si supponga, ad esempio, che i tipi di voci di log siano A, B e C. Nell'esempio seguente l'opzione ConsoleLog senza alcun parametro visualizza tutti e tre i tipi con tutti i campi:

/CONSOLELOG

Nell'opzione seguente vengono visualizzati tutti i tipi di log, ma solo con le colonne Name e Message:

/CONSOLELOG NM

Nell'opzione seguente vengono visualizzate tutte le colonne, ma solo per il tipo di voce di log A:

/CONSOLELOG I;LogEntryTypeA

Nell'opzione seguente viene visualizzato solo il tipo di voce di log A con le colonne Name e Message:

/CONSOLELOG NM;I;LogEntryTypeA

L'opzione seguente consente di visualizzare le voci di log per i tipi di voci di log A e B:

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB

È possibile ottenere gli stessi risultati utilizzando più opzioni ConsoleLog:

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB

Se l'opzione ConsoleLog viene utilizzata senza parametri, vengono visualizzati tutti i campi. L'inclusione di un parametro list_options comporta la visualizzazione solo del tipo di voce di log A con tutti i campi:

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG

L'esempio seguente visualizza tutte le voci di log eccetto il tipo di voce di log A, ovvero visualizza i tipi di voce di log B e C:

/CONSOLELOG E;LogEntryTypeA

Nell'esempio seguente gli stessi risultati vengono ottenuti utilizzando più opzioni ConsoleLog e una singola esclusione:

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG
/CONSOLELOG E;LogEntryTypeA /CONSOLELOG E;LogEntryTypeA
/CONSOLELOG E;LogEntryTypeA;LogEntryTypeA

Nell'esempio seguente non viene visualizzato alcun messaggio di log poiché, quando un tipo di file di log si trova sia nell'elenco delle inclusioni sia in quello delle esclusioni, esso verrà escluso.

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA

Opzione SET

L'esempio seguente illustra come usare l'opzione /SET tramite cui è possibile modificare il valore di qualsiasi variabile o proprietà del pacchetto quando si avvia il pacchetto dalla riga di comando.

/SET \package\DataFlowTask.Variables[User::MyVariable].Value;newValue

Opzione Project

L'esempio seguente illustra come usare le opzioni /Project e /Package.

/Project c:\project.ispac /Package Package1.dtsx

Nell'esempio seguente si illustra come utilizzare le opzioni /Project e /Package e come impostare i parametri del pacchetto e del progetto.

/Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1

Opzione ISServer

L'esempio seguente illustra come usare l'opzione /ISServer.

dtexec /isserver "\SSISDB\MyFolder\MyProject\MyPackage.dtsx" /server "."

Nell'esempio seguente si illustra come utilizzare l'opzione /ISServer e come impostare i parametri del progetto e di gestione connessione.

/Server localhost /ISServer “\SSISDB\MyFolder\Integration Services Project1\Package.dtsx” /Par "$Project::ProjectParameter(Int32)";1 /Par "CM.SourceServer.InitialCatalog";SourceDB

Attività correlate

Eseguire un pacchetto in SQL Server Data Tools

Contenuto correlato

Intervento sul blog relativo a codici di uscita, DTEXEC e catalogo SSIS, su www.mattmasson.com.