Utilitário dtexec

O utilitário de prompt de comando dtexec é usado para configurar e executar pacotes do SQL Server Integration Services. O utilitário dtexec fornece acesso a toda a configuração e recursos de execução de pacotes, como parâmetros, conexões, propriedades, variáveis, logs e indicadores de progresso. O utilitário dtexec permite carregar pacotes destas origens: o servidor Integration Services, um arquivo de projeto .ispac, um banco de dados Microsoft SQL Server, o armazenamento de pacote SSIS e o sistema de arquivos.

ObservaçãoObservação

Quando você usa a versão do utilitário dtexec fornecido com o SQL Server 2012 Integration Services (SSIS) para executar um pacote do SQL Server 2005 Integration Services (SSIS) ou do SQL Server 2008 Integration Services (SSIS), o Integration Services atualiza o pacote temporariamente para o SQL Server 2012 Integration Services (SSIS). No entanto, você não pode usar o utilitário dtexec para salvar essas alterações atualizadas. Para obter mais informações sobre como atualizar permanentemente um pacote para o SQL Server 2012 Integration Services (SSIS), consulte Atualizar pacotes do Integration Services.

Este tópico inclui as seguintes seções:

  • 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

Serviço do Integration Services e arquivo de projeto

Quando você usa o dtexec para executar pacotes no servidor do Integration Services, o dtexec chama catalog.create_execution (Banco de dados SSISDB), catalog.set_execution_parameter_value (Banco de Dados SSISDB) e os procedimentos armazenados catalog.start_execution (Banco de dados SSISDB) para criar uma execução, definir valores de parâmetros e iniciar a execução. Todos os logs de execução podem ser consultados do servidor nas exibições relacionadas ou usando relatórios padrão disponíveis no SQL Server Management Studio. Para obter mais informações sobre os relatórios, consulte Relatórios do servidor do Integration Services.

Veja a seguir um exemplo de execução de um pacote no servidor do 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 você usa dtexec para executar um pacote do arquivo de projeto .ispac, as opções relacionadas são: /Proj[ect] e /Pack[age] que são usados para especificar o nome de fluxo de pacote e o caminho do projeto. Quando você converte um projeto ao modelo de implantação de projeto executando o Assistente de Conversão de Projeto do Integration Services do SQL Server Management Studio, o assistente gera um arquivo de projeto .ispac. Para obter mais informações, consulte Implantar projetos no Servidor do Integration Services.

Você pode usar o dtexec com ferramentas de programação de terceiros para agendar pacotes que são implantados no servidor do Integration Services.

Considerações sobre a instalação em computadores de 64 bits

Em um computador de 64 bits, o Integration Services instala a versão de 64 bits do utilitário dtexec (dtexec.exe). Se for necessário executar certos pacotes no modo de 32 bits, você deverá instalar a versão de 32 bits do utilitário dtexec. Para instalar a versão de 32 bits do utilitário dtexec, você deve selecionar Ferramentas de Cliente ou SSDT (Ferramentas de dados do SQL Server) durante a instalação.

Por padrão, um computador de 64 bits que tem as versões de 64 e de 32 bits de um utilitário de prompt de comando do Integration Services instaladas executará a versão de 32 bits no prompt de comando. A versão de 32 bits é executada porque o caminho do diretório da versão de 32 bits aparece na variável de ambiente PATH antes do caminho do diretório da versão de 64 bits. (Normalmente, o caminho do diretório de 32 bits é <unidade>:\Arquivos de Programas(x86)\Microsoft SQL Server\110\DTS\Binn, enquanto o caminho do diretório de 64 bits é <unidade>:\Arquivos de Programas\Microsoft SQL Server\110\DTS\Binn.)

ObservaçãoObservação

Se você usar o SQL Server Agent para executar o utilitário, o SQL Server Agent usará automaticamente a versão de 64 bits do utilitário. O SQL Server Agent usa o Registro, não a variável de ambiente PATH, para localizar o executável correto do utilitário.

Para garantir que a versão de 64 bits do utilitário no prompt de comando seja executada, execute uma das seguintes ações:

  • Abra a janela Prompt de Comando, altere para o diretório que contém a versão de 64 bits do utilitário (<unidade>:\Arquivos de Programas\Microsoft SQL Server\110\DTS\Binn), e execute o utilitário nesse local.

  • No prompt de comando, execute o utilitário digitando o caminho completo (<unidade>:\Arquivos de Programas\Microsoft SQL Server\110\DTS\Binn) para a versão de 64 bits do utilitário.

  • Altere permanentemente a ordem dos caminhos na variável de ambiente PATH colocando o caminho de 64 bits (<unidade>:\Arquivos de Programas\Microsoft SQL Server\110\DTS\Binn) antes do caminho de 32 bits (<unidade>:\Arquivos de Programas(x86)\Microsoft SQL Server\110\DTS\Binn) na variável.

Considerações em computadores com instalações lado a lado

Quando o SQL Server 2012 Integration Services (SSIS) é instalado em um computador com o SQL Server 2005 Integration Services (SSIS) ou o SQL Server 2008 Integration Services (SSIS) instalado, várias versões do utilitário dtexec são instaladas.

Para garantir a execução da versão correta do utilitário, no prompt de comando, execute o utilitário digitando o caminho completo (<drive>:\Arquivos de Programas\Microsoft SQL Server\<version>\DTS\Binn).

Fases de execução

O utilitário passa por quatro fases à medida que é executado. As fases são as seguintes:

  1. Fase de fornecimento de comando: O prompt de comando lê a lista de opções e argumentos que foram especificados. Todas as fases subsequentes serão ignoradas se uma opção /? ou /HELP for encontrada.

  2. Fase de carga do pacote: O pacote especificado pela opção /SQL, /FILE ou /DTS é carregado.

  3. Fase de configuração: As opções são processadas nesta ordem:

    • Opções que definem sinalizadores, variáveis e propriedades do pacote.

    • Opções que verificam a versão e a compilação do pacote.

    • Opções que configuram o comportamento de tempo de execução do utilitário, como a geração de relatórios.

  4. Fase de validação e execução: O pacote será executado ou validado sem executar, se a opção /VALIDATE tiver sido especificada.

Códigos de saída retornados

Códigos de saída retornados do utilitário dtexec

Quando um pacote é executado, o dtexec pode retornar um código de saída. O código de saída é usado para popular a variável ERRORLEVEL, cujo valor pode, então, ser testado em instruções condicionais ou lógica de ramificação dentro de um arquivo em lote. A tabela a seguir lista os valores que o utilitário dtexec pode definir ao sair.

Valor

Descrição

0

O pacote foi executado com êxito.

1

Falha no pacote.

3

O pacote foi cancelado pelo usuário.

4

O utilitário não pôde localizar o pacote solicitado. Não foi possível encontrar pacote.

5

O utilitário não pôde carregar o pacote solicitado. Não foi possível carregar o pacote.

6

O utilitário encontrou um erro interno de sintática ou semântica na linha de comando.

Regras de sintaxe

Regras de sintaxe do utilitário

Todas as opções devem iniciar com uma barra (/) ou um sinal de menos (-). As opções que são mostradas aqui iniciam com uma barra (/), mas ela pode ser substituída pelo sinal de menos (-).

Argumentos que contém espaços devem ser colocados entre aspas. Se o argumento não estiver entre aspas, ele não poderá conter espaço em branco.

Aspas duplas dentro de cadeias de caracteres entre aspas representam aspas simples.

Opções e argumentos não diferenciam maiúsculas e minúsculas, exceto em senhas.

Usando dtexec a partir do xp_cmdshell

Usando dtexec a partir do xp_cmdshell

Você pode executar o dtexec a partir do prompt do xp_cmdshell. O exemplo a seguir mostra como executar um pacote chamado UpsertData.dtsx e ignorar o código de retorno:

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

O exemplo a seguir mostra como executar o mesmo pacote e capturar o código de retorno:

DECLARE @returncode int
EXEC @returncode = xp_cmdshell 'dtexec /f "C:\UpsertData.dtsx"'
Observação importanteImportante

No Microsoft SQL Server, a opção xp_cmdshell é desabilitada por padrão nas novas instalações. A opção pode ser habilitada com a execução do procedimento armazenado de sistema sp_configure. Para obter mais informações, consulte Opção de configuração de servidor xp_cmdshell.

Sintaxe

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

Parâmetros

Opção

Descrição

/?[option_name]

(Opcional). Exibe as opções de prompt de comando ou a ajuda para o option_name especificado e, em seguida, fecha o utilitário.

Se você especificar um argumento option_name, o dtexec iniciará os Manuais Online do SQL Server e exibirá o tópico do utilitário dtexec.

/Ca[llerInfo]

(Opcional). Especifica informações adicionais para uma execução de pacote. Quando você executa um pacote usando o SQL Server Agent, o agente define este argumento para indicar que a execução de pacote é chamada pelo SQL Server Agent. Este parâmetro é ignorado quando o utilitário dtexec é executado da linha de comando.

/CheckF[ile] filespec

(Opcional). Define a propriedade CheckpointFileName no pacote como o caminho e arquivo especificados em filespec. Esse arquivo é usado quando o pacote é reiniciado. Se esta opção for especificada e nenhum valor for fornecido para o nome de arquivo, o CheckpointFileName do pacote será definido como uma cadeia de caracteres vazia. Se esta opção não for especificada, os valores no pacote serão retidos.

/CheckP[ointing]{on\off}

(Opcional). Define um valor que determina se o pacote usará pontos de verificação durante sua execução. O valor on especifica que pacotes que falharam serão executados novamente. Quando o pacote com falha é executado novamente, o mecanismo de tempo de execução usa o arquivo de ponto de verificação para reiniciar o pacote a partir do ponto de falha.

O valor padrão será “on”, se a opção estiver declarada sem um valor. A execução do pacote falhará se o valor for definido como “on” e não for possível encontrar o arquivo de ponto de verificação. Se essa opção não for especificada, o conjunto de valores no pacote será retido. Para obter mais informações, consulte Reiniciar pacotes por meio de pontos de verificação.

A opção /CheckPointing on do dtexec equivale a definir a propriedade SaveCheckpoints do pacote como True, e a propriedade CheckpointUsage como Always.

/Com[mandFile] filespec

(Opcional). Especifica as opções de comando que são executados com dtexec. O arquivo especificado em filespec está aberto e as opções do arquivo são lidas até o EOF ser localizado no arquivo. filespec é um arquivo de texto. O argumento filespec especifica o nome de arquivo e caminho do arquivo de comando a ser associado à execução do pacote.

/Conf[igFile] filespec

(Opcional). Especifica um arquivo de configuração do qual extrair valores. Usando esta opção, você pode definir uma configuração de tempo de execução que difere da configuração especificada em tempo de design para o pacote. Você pode armazenar parâmetros de configuração diferentes em um arquivo de configuração XML e carregá-las antes da execução do pacote, usando a opção /ConfigFile.

Você pode usar a opção /ConfigFile para carregar configurações adicionais em tempo de execução que você não especificou em tempo de design. Porém, você não pode usar a opção /ConfigFile para substituir valores configurados que você também especificou em tempo de design. Para compreender como são aplicadas as configurações de pacote, consulte Configurações de pacote.

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

(Opcional). Especifica que o gerenciador de conexões com o nome ou o GUID especificado está localizado no pacote e especifica uma cadeia de conexão.

Essa opção requer que ambos os parâmetros sejam especificados: o nome do gerenciador de conexões ou o GUID deve ser fornecido com o argumento id_or_name e uma cadeia de caracteres de conexão válida deve ser especificada no argumento connection_string. Para obter mais informações, consulte Conexões do SSIS (Integration Services).

Em tempo de execução, você pode usar a opção /Connection para carregar configurações de pacote de um local diferente do local especificado em tempo de design. Os valores dessas configurações substituem os valores que foram especificados originalmente. Porém, você pode usar a opção /Connection apenas para configurações, como configurações do SQL Server, que usam um gerenciador de conexões. Para compreender como são aplicadas as configurações de pacote, consulte Configurações de pacote e Alterações de comportamento dos recursos do Integration Services no SQL Server 2012.

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

(Opcional). Exibe as entradas de log especificadas ao console durante a execução do pacote. Se esta opção for omitida, nenhuma entrada de log será mostrada no console. Se a opção for especificada sem parâmetros que limitem a exibição, toda entrada de log será exibida. Para limitar as entradas exibidas no console, você pode especificar as colunas a exibir, usando o parâmetro displayoptions, e limitar os tipos de entrada de log, usando o parâmetro list_options.

Os valores de displayoptions são os seguintes:

  • N (Nome)

  • C (Computador)

  • O (Operador)

  • S (Nome da Origem)

  • G (GUID da origem)

  • X (GUID da execução)

  • M (Mensagem)

  • T (Hora de Início e de Término)

Os valores de list_options são os seguintes:

  • I - Especifica a lista de inclusão. Só os nomes ou GUIDs de origem que estão especificados são registrados.

  • E - Especifica a lista de exclusão. Os nomes ou GUIDs de origem que estão especificados não são registrados.

  • O parâmetro src_name_or_guid especificado para inclusão ou exclusão é um nome de evento, nome de origem ou GUID de origem.

Se você usar várias opções /ConsoleLog no mesmo prompt de comando, elas irão interagir da seguinte maneira:

  • Sua ordem de aparição não tem efeito nenhum.

  • Se nenhuma lista de inclusão estiver presente na linha de comando, as listas de exclusão serão aplicadas contra todos os tipos de entrada de log.

  • Se alguma lista de inclusão estiver presente na linha de comando, as listas de exclusão serão aplicadas contra a união de todas as listas de inclusão.

Para examinar vários exemplos da opção /ConsoleLog, consulte a seção Comentários.

/D[ts] package_path

(Opcional). Carrega um pacote do Armazenamento de Pacotes SSIS. Os pacotes que estão armazenados no Armazenamento de Pacotes SSIS são implantados usando o modelo de implantação de pacote herdado. Para executar pacotes que são implantados no servidor do Integration Services usando o modelo de implantação de projeto, use a opção /ISServer. Para obter mais informações sobre os modelos de implantação de pacote e projeto, consulte Implantação de projetos e pacotes.

O argumento package_path especifica o caminho relativo do pacote SSIS, iniciando na raiz do Armazenamento de Pacotes SSIS, e inclui o nome do pacote SSIS. Se o caminho ou o nome do arquivo especificado no argumento package_path contiver um espaço, você deverá colocar o argumento package_path entre aspas.

A opção /DTS não pode ser usada junto com a opção /File ou /SQL. Se forem especificadas várias opções, o dtexec irá falhar.

/De[crypt] password

(Opcional). Define a senha de decodificação usada ao carregar um pacote com criptografia de senha.

/Dumperror code

(Opcional) Cria os arquivos de despejo de depuração, .mdmp e .tmp, quando um ou mais eventos especificados ocorrem enquanto o pacote está em execução. O argumento error code especifica o tipo de código de evento (erro, aviso ou informação) que acionará o sistema para criar os arquivos de despejo de depuração. Para especificar vários códigos de evento, separe cada argumento error code por um ponto-e-vírgula (;). Não inclua aspas com o argumento error code.

O exemplo a seguir gera arquivos de despejo de depuração quando o erro DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER ocorre.

/Dump 0xC020801C

Por padrão, o Integration Services armazena os arquivos de despejo de depuração na pasta <unidade>:\Arquivos de Programas\Microsoft SQL Server\110\Shared\ErrorDumps.

ObservaçãoObservação

Os arquivos de despejo de depuração podem conter informações confidenciais. Use uma lista de controle de acesso (ACL) para restringir o acesso aos arquivos ou copie os arquivos para uma pasta que tenha acesso restrito. Por exemplo, antes de enviar os arquivos de depuração para o serviço de suporte da Microsoft, recomendamos que você remova todas as informações confidenciais.

Para aplicar essa opção a todos os pacotes executados pelo utilitário dtexec, adicione um valor DumpOnCodes REG_SZ à chave de registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. O valor de dados em DumpOnCodes especifica os códigos de erro que dispararão o sistema para criar arquivos de despejo de depuração. Vários códigos de erro devem ser separados por um ponto e vírgula (;).

Se um valor DumpOnCodes for adicionado à chave de registro e a opção /Dump for usada, o sistema criará arquivos de despejo de depuração baseados nessas duas configurações.

Para obter mais informações sobre os arquivos de despejo de depuração, consulte Gerando arquivos de despejo para execução de pacote.

/DumpOnError

(Opcional) Cria os arquivos de despejo de depuração, .mdmp e .tmp, quando ocorre um erro enquanto o pacote está em execução.

Por padrão, o Integration Services armazena os arquivos de despejo de depuração na pasta <unidade>:\Arquivos de Programa\Microsoft SQL Server\110\Shared\ErrorDumps.

ObservaçãoObservação

Os arquivos de despejo de depuração podem conter informações confidenciais. Use uma lista de controle de acesso (ACL) para restringir o acesso aos arquivos ou copie os arquivos para uma pasta que tenha acesso restrito. Por exemplo, antes de enviar os arquivos de depuração para o serviço de suporte da Microsoft, recomendamos que você remova todas as informações confidenciais.

Para aplicar essa opção a todos os pacotes executados pelo utilitário dtexec, adicione um valor DumpOnError REG_DWORD à chave de registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. O valor REG_DWORD DumpOnError determina se a opção /DumpOnError precisa ser usada com o utilitário dtexec:

  • Um valor de dados diferente de zero indica que o sistema criará arquivos de despejo de depuração quando algum erro ocorrer, independentemente de a opção /DumpOnError ser usada com o utilitário dtexec.

  • Um valor de dados igual a zero indica que o sistema não criará os arquivos de despejo de depuração a não ser que a opção /DumpOnError seja usada com o utilitário dtexec.

Para obter mais informações sobre os arquivos de despejo de depuração, consulte Gerando arquivos de despejo para execução de pacote.

/Env[Reference] environment reference ID

(Opcional). Especifica a ID de referência do ambiente que é usada pela execução do pacote, para um pacote que é implantado para o servidor do Integration Services. Os parâmetros configurados para associar a variáveis usarão os valores das variáveis que estão contidas no ambiente.

Você usa a opção /Env[Reference] junto com as opções /ISServer e /Server.

Este parâmetro é usado pelo SQL Server Agent.

/F[ile] filespec

(Opcional). Carrega um pacote que é salvo no sistema de arquivos. Os pacotes que estão salvos no sistema de arquivos são implantados usando o modelo de implantação de pacote herdado. Para executar pacotes que são implantados no servidor do Integration Services usando o modelo de implantação de projeto, use a opção /ISServer. Para obter mais informações sobre os modelos de implantação de pacote e projeto, consulte Implantação de projetos e pacotes

O argumento filespec especifica o caminho e nome de arquivo do pacote. Você pode especificar o caminho como local ou de UNC (Convenção Universal de Nomenclatura). Se o caminho ou o nome do arquivo especificado no argumento filespec contiver um espaço, você deverá colocar o argumento filespec entre aspas.

A opção /File não pode ser usada junto com a opção /DTS ou /SQL. Se forem especificadas várias opções, o dtexec irá falhar.

/H[elp] [option_name]

(Opcional). Exibe a ajuda das opções ou do option_name especificado e, em seguida, fecha o utilitário.

Se você especificar um argumento option_name, o dtexec iniciará os Manuais Online do SQL Server e exibirá o tópico do utilitário dtexec.

/ISServer packagepath

(Opcional). Executa um pacote que é implantado no servidor do Integration Services. O argumento PackagePath especifica o caminho completo e o nome do pacote implantado no servidor do Integration Services. Se o caminho ou o nome do arquivo especificado no argumento PackagePath contiver um espaço, você deverá colocar o argumento PackagePath entre aspas.

O formato do pacote é o seguinte:

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

Você usa a opção /Server junto com a opção /ISSERVER. Somente a Autenticação do Windows pode executar um pacote no Servidor do SSIS. O usuário atual do Windows é usado para acessar o pacote. Se a opção /Server for omitida, será assumida a instância local padrão do SQL Server.

A opção /ISSERVER não pode ser usada junto com a opção /DTS, /SQL ou /File. Se forem especificadas várias opções, o dtexec irá falhar.

Este parâmetro é usado pelo SQL Server Agent.

/L[ogger] classid_orprogid;configstring

(Opcional). Associa um ou mais provedores de log à execução de um pacote SSIS. O parâmetro classid_orprogid especifica o provedor de log e pode ser especificado como um GUID de classe. O configstring é a cadeia de caracteres que é usada para configurar o provedor de log.

A lista a seguir mostra os provedores de log disponíveis:

  • Arquivo de texto:

    • 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}

  • Log de eventos do Windows:

    • ProgID: DTS.LogProviderEventLog.1

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

  • Arquivo XML:

    • ProgID: DTS.LogProviderXMLFile.1

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

/M[axConcurrent] concurrent_executables

(Opcional). Especifica o número de arquivos executáveis que o pacote pode executar simultaneamente. O valor especificado deve ser um inteiro não negativo ou -1. O valor de -1 significa que o SSIS permitirá um número máximo de executáveis em processamento simultâneo igual ao número total de processadores no computador executando o pacote mais dois.

/Pack[age] PackageName

(Opcional). Especifica o pacote que é executado. Este parâmetro é usado principalmente quando você executa o pacote de Visual Studio.

/P[assword] password

(Opcional). Permite a recuperação de um pacote que está protegido pela Autenticação do SQL Server. Essa opção é usada junto com a opção /User. Se a opção /Password for omitida e a opção /User for usada, será utilizada uma senha em branco. O valor de password pode ser colocado entre aspas.

Observação sobre segurançaObservação sobre segurança

Quando possível, use a Autenticação do Windows.

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

(Opcional). Especifica os valores de parâmetro. É possível especificar várias opções /Parameter. Os tipos de dados são TypeCodes CLR como cadeias de caracteres. Para um parâmetro que não é cadeia de caracteres, o tipo de dados é especificado em parênteses, seguindo o nome do parâmetro.

A opção /Parameter pode ser usada apenas com a opção /ISServer.

Você usa os prefixos $Package, $Project, and $ServerOption para indicar um parâmetro de pacote, um parâmetro de projeto e um parâmetro de opção de servidor, respectivamente. O tipo de parâmetro padrão é pacote.

Veja a seguir um exemplo de execução de pacote e fornecimento do myvalue para o parâmetro de projeto (myparam) e o valor inteiro 12 para o parâmetro de pacote (anotherparam).

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

Você também pode definir as propriedades do gerenciador de conexões usando parâmetros. Use o prefixo CM para denotar um parâmetro do gerenciador de conexões.

No exemplo a seguir, a propriedade InitialCatalog do gerenciador de conexões do SourceServer é definida como ssisdb.

/parameter CM.SourceServer.InitialCatalog;ssisdb

No exemplo a seguir, a propriedade ServerName do gerenciador de conexões do SourceServer é definida como um ponto (.) para indicar o servidor local.

/parameter CM.SourceServer.ServerName;.

/Proj[ect] ProjectFile

(Opcional). Especifica o projeto do qual recuperar o pacote que é executado. O argumento ProjectFile especifica o nome da arquivo .ispac. Este parâmetro é usado principalmente quando você executa o pacote de Visual Studio.

/Rem comment

(Opcional). Inclui comentários no prompt de comando ou nos arquivos de comando. O argumento é opcional. O valor de comment é uma cadeia de caracteres que deve ser colocada entre aspas ou não conter nenhum espaço em branco. Se nenhum argumento for especificado, uma linha em branco será inserida. Os valores de comment serão descartados durante a fase de fornecimento.

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

(Opcional). Especifica que tipos de mensagens devem ser relatadas. As opções de relatório disponíveis para level são as seguintes:

N    Sem geração de relatórios.

E    Relata erros.

W    Relata avisos.

I    Relata mensagens informativas.

C    Relata eventos personalizados.

D    Relata eventos da tarefa Fluxo de Dados.

P    Relata o progresso.

V    Geração de relatórios detalhados.

Os argumentos de V e N são mutuamente excludentes a todos os outros argumentos; eles devem ser especificados sozinhos. Se a opção /Reporting não for especificada, o nível padrão será E (erros), W (avisos) e P (progresso).

Todos os eventos são precedidos de um carimbo de data e hora no formato "AA/MM/DD HH:MM:SS" e um GUID ou nome amigável, se disponível.

O parâmetro opcional event_guid_or_name é uma lista de exceções aos provedores de log. A exceção especifica os eventos que não são registrados e que devem ser registrados de outra forma.

Você não precisa excluir um evento caso ele não seja registrado ordinariamente por padrão.

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

(Opcional). Especifica um novo valor para a propriedade CheckpointUsage no pacote. O significado dos parâmetros é o seguinte:

Deny    Define a propriedade CheckpointUsage como DTSCU_NEVER.

Force    Define a propriedade CheckpointUsage como DTSCU_ALWAYS.

ifPossible    Define a propriedade CheckpointUsage como DTSCU_IFEXISTS.

O valor padrão de forçar será usado se nenhum valor for especificado.

/Set [$Sensitive::]propertyPath;value

(Opcional). Substitui a configuração de um parâmetro, variável, propriedade, contêiner, provedor de log, enumerador Foreach ou conexão dentro de um pacote. Quando esta opção é usada, /Set altera o argumento propertyPath para o valor especificado. É possível especificar várias opções /Set.

Além de usar a opção /Set com a /F[ile], você também pode usar o a opção /Set com a /ISServer ou /Project. Quando você usa /Set com /Project, /Set define valores de parâmetro. Quando você usa /Set com /ISServer, /Set define substituições de propriedade. Além disso, quando você usa /Set com /ISServer, é possível usar o prefixo $Sensitive opcional para indicar que a propriedade deve ser tratada como confidencial no servidor do Integration Services.

Você pode determinar o valor de propertyPath executando o Assistente de Configuração de Pacotes. Os caminhos dos itens selecionados por você são exibidos na página final Concluindo o Assistente e podem ser copiados e colados. Se usou o assistente apenas com esse fim, você poderá cancelá-lo depois de copiar os caminhos.

Veja a seguir um exemplo de execução de um pacote que é salvo no sistema de arquivos e fornecimento de um novo valor para uma variável:

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

O exemplo a seguir de execução de um pacote do arquivo de projeto .ispac e da configuração de parâmetros de pacote e projeto.

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

Você pode usar a opção /Set para alterar o local do qual são carregadas configurações de pacote. Porém, você não pode usar a opção /Set para substituir um valor que foi especificado em tempo de design por uma configuração. Para compreender como são aplicadas as configurações de pacote, consulte Configurações de pacote e Alterações de comportamento dos recursos do Integration Services no SQL Server 2012.

/Ser[ver] server

(Opcional). Quando a opção /SQL ou /DTS é especificada, esta opção especifica o nome do servidor a partir do qual recuperar o pacote. Se você omitir a opção /Server e a opção /SQL ou /DTS for especificada, a execução do pacote será tentada no servidor local. O valor de server_instance pode ser colocado entre aspas.

A opção /Ser[ver] é necessária quando a opção /ISServer é especificada.

/SQ[L] package_path

Carrega um pacote que é armazenado no SQL Server, no banco de dados msdb. Os pacotes que estão armazenados no banco de dados msdb são implantados usando o modelo de implantação de pacote. Para executar pacotes que são implantados no servidor do Integration Services usando o modelo de implantação de projeto, use a opção /ISServer. Para obter mais informações sobre os modelos de implantação de pacote e projeto, consulte Implantação de projetos e pacotes.

O argumento package_path especifica o caminho e nome de arquivo do pacote a recuperar. Se forem incluídas pastas no caminho, elas terminarão com barras invertidas ("\"). O valor de package_path pode ser colocado entre aspas. Se o caminho ou o nome do arquivo especificado no argumento package_path contiver um espaço, você deverá colocar o argumento package_path entre aspas.

Você pode usar as opções /User, /Password e /Server junto com a opção /SQL.

Se você omitir a opção /User, será usada Autenticação do Windows para acessar o pacote. Se você usar a opção /User, o nome de login /User especificado será associado à Autenticação do SQL Server.

A opção /Password é usada apenas junto com a opção /User. Se você usar a opção /Password, o pacote será acessado com as informações de nome de usuário e senha fornecidas. Se você omitir a opção /Password, será utilizada uma senha em branco.

Observação sobre segurançaObservação sobre segurança

Quando possível, use a Autenticação do Windows.

Se a opção /Server for omitida, será assumida a instância local padrão do SQL Server.

A opção /SQL não pode ser usada junto com a opção /DTS ou /File. Se forem especificadas várias opções, o dtexec irá falhar.

/Su[m]

(Opcional). Mostra um contador incremental que contém o número de linhas que serão recebidas pelo próximo componente.

/U[ser] user_name

(Opcional). Permite a recuperação de um pacote que está protegido pela Autenticação do SQL Server. Esta opção só é usada quando a opção /SQL é especificada. O valor de user_name pode ser colocado entre aspas.

Observação sobre segurançaObservação sobre segurança

Quando possível, use a Autenticação do Windows.

/Va[lidate]

(Opcional). Interrompe a execução do pacote depois da fase de validação, sem executar realmente o pacote. Durante a validação, o uso da opção /WarnAsError faz com que o dtexec trate avisos como erro; portanto, o pacote falhará se ocorrer um aviso durante a validação.

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

(Opcional). Verifica o número da compilação de um pacote contra os números de compilação especificados durante a fase de verificação no major, minor e nos argumentos build. Se uma ocorrer um erro de correspondência, o pacote não será executado.

Os valores são inteiros longos. O argumento pode ter um dentre três formulários, sendo sempre obrigatório um valor para major:

  • major

  • major;minor

  • major; minor; build

/VerifyP[ackageID] packageID

(Opcional). Verifica o GUID do pacote a ser executado, comparando-o ao valor especificado no argumento package_id.

/VerifyS[igned]

(Opcional). Faz com que o Integration Services verifique a assinatura digital do pacote. Se o pacote não for assinado ou a assinatura não for válida, o pacote falhará. Para obter mais informações, consulte Identificar a origem dos pacotes com assinaturas digitais.

Observação importanteImportante

Quando configurado para verificar a assinatura do pacote, o Integration Services apenas verifica se a assinatura digital está presente, se é válida e se provém de uma origem confiável. O Integration Services não verifica se o pacote foi alterado.

ObservaçãoObservação

O valor do Registro BlockedSignatureStates opcional pode especificar uma configuração que é mais restritiva do que a opção de assinatura digital definida no SSDT (Ferramentas de dados do SQL Server) ou na linha de comando dtexec. Nesta situação, a configuração de Registro mais restritiva substitui as outras configurações.

/VerifyV[ersionID] versionID

(Opcional). Verifica o GUID de versão do pacote a ser executado, comparando-o ao valor especificado no argumento version_id durante a fase de validação do pacote.

/VLog[Filespec]

(Opcional). Grava todos os eventos de pacote do Integration Services nos provedores de log que foram habilitados quando o pacote foi projetado. Para que o Integration Services habilite um provedor de log para arquivos de texto e grave eventos de log em um arquivo de texto especificado, inclua um caminho e nome de arquivo como o parâmetro Filespec.

Se você não incluir o parâmetro Filespec, o Integration Services não habilitará um provedor de log para arquivos de texto. O Integration Services vai gravar eventos de log somente nos provedores de log que foram habilitados quando o pacote foi projetado.

/W[arnAsError]

(Opcional). Faz com que o pacote considere avisos como erro; portanto, o pacote falhará se ocorrer um aviso durante a validação. Se nenhum aviso ocorrer durante a validação e a opção /Validate não estiver especificada, o pacote será executado.

/X86

(Opcional). Faz com que o SQL Server Agent execute o pacote no modo de 32 bits em um computador de 64 bits. Esta opção é definida pelo SQL Server Agent quando as seguintes condições são verdadeiras:

  • O tipo de etapa de trabalho é Pacote do SQL Server Integration Services.

  • A opção Usar tempo de execução de 32 bits na guia Opções de execução da caixa de diálogo Nova Etapa de Trabalho está selecionada.

Você também pode definir essa opção para uma etapa de trabalho do Agente SQL Server usando procedimentos armazenados ou o SQL Server Management Objects (SMO) para criar o trabalho programaticamente.

Esta opção só é usada pelo SQL Server Agent. Ela será ignorada se você executar o utilitário dtexec no prompt de comando.

Comentários

A ordem na qual as opções de comando são especificadas pode influenciar o modo de execução do pacote:

  • As opções são processadas na ordem em que são encontradas na linha de comando. Os arquivos de comando são lidos à medida que são encontrados na linha de comando. Os comandos no arquivo de comandos também são processados na ordem em que são encontrados.

  • Se a mesma opção, parâmetro ou variável aparecer na mesma instrução de linha de comando mais de uma vez, a última instância da opção terá precedência.

  • As opções /Set e /ConfigFile são processadas na ordem em que são encontradas.

Exemplos

Os exemplos a seguir demonstram como usar o utilitário de prompt de comando dtexec para configurar e executar pacotes do SQL Server Integration Services.

Executando pacotes

Para executar um pacote SSIS salvo no SQL Server usando Autenticação do Windows, use o seguinte código:

dtexec /sq pkgOne /ser productionServer

Para executar um pacote SSIS salvo na pasta Sistema de Arquivos do Armazenamento de Pacotes SSIS, use o seguinte código:

dtexec /dts "\File System\MyPackage"

Para validar um pacote que usa Autenticação do Windows e está salvo no SQL Server sem executar o pacote, use o seguinte código:

dtexec /sq pkgOne /ser productionServer /va

Para executar um pacote SSIS salvo no sistema de arquivos, use o seguinte código:

dtexec /f "c:\pkgOne.dtsx" 

Para executar um pacote SSIS salvo no sistema de arquivos e especificar opções de log, use o seguinte código:

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

Para executar um pacote que usa Autenticação do Windows e está salvo na instância local padrão do SQL Server e verificar a versão antes de sua execução, use o seguinte código:

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

Para executar um pacote SSIS salvo no sistema de arquivos e configurado externamente, use o seguinte código:

dtexec /f "c:\pkgOne.dtsx" /conf "c:\pkgOneConfig.cfg"
ObservaçãoObservação

Os argumentos package_path ou filespec das opções /SQL, /DTS ou /FILE deverão ser colocados entre aspas, se o caminho ou nome de arquivo contiver um espaço. Se o argumento não estiver entre aspas, ele não poderá conter espaço em branco.

Opção de Log

Se houver três tipos de entrada de log de A, B e C, a opção ConsoleLog a seguir sem um parâmetro exibirá todos os três tipos de log com todos os campos:

/CONSOLELOG

A seguinte opção exibe todos os tipos de log, mas apenas com as colunas Nome e Mensagem:

/CONSOLELOG NM

A seguinte opção exibe todas as colunas, mas só para o tipo de entrada de log A:

/CONSOLELOG I;LogEntryTypeA

A seguinte opção exibe apenas o tipo de entrada de log A, com as colunas Nome e Mensagem:

/CONSOLELOG NM;I;LogEntryTypeA

A seguinte opção exibe as entradas de logo de tipo A e B:

/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB

Você pode alcançar os mesmos resultados usando várias opções ConsoleLog:

/CONSOLELOG I;LogEntryTypeA /CONSOLELOG I;LogEntryTypeB

Se a opção ConsoleLog for usada sem parâmetros, todos os campos serão exibidos. A inclusão de um parâmetro list_options faz com que o seguinte exiba apenas o tipo de entrada A, com todos os campos:

/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG

O exemplo a seguir exibe todas as entradas de log, exceto a entrada de log tipo A: ou seja, ele exibe os tipos de entrada de log B e C:

/CONSOLELOG E;LogEntryTypeA

O seguinte exemplo alcança os mesmos resultados usando várias opções ConsoleLog e uma única exclusão:

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

O exemplo a seguir não exibe mensagens de log, porque quando um tipo de arquivo de log é achado em ambas a listas, de inclusão e exclusão, elas são excluídas.

/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA

Opção SET

O seguinte mostra como usar a opção /SET, que lhe permite alterar o valor de qualquer propriedade de pacote ou variável ao iniciar o pacote a por meio da linha de comando.

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

Opção de projetos

O exemplo a seguir mostra como usar as opções /Project e /Package.

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

O exemplo a seguir mostra como usar as opções /Project e /Package, e definir os parâmetros de pacote e projeto.

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

Opção ISServer

O exemplo a seguir mostra como usar a opção /ISServer.

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

O exemplo a seguir mostra como usar a opção /ISServer e definir parâmetros do gerenciador de conexões e projetos.

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

Tarefas relacionadas

Executar um pacote nas Ferramentas de Dados do SQL Server

Conteúdo relacionado

Entrada de blog Códigos de saída, DTEXEC e catálogo do SSIS no www.mattmasson.com.