Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:SQL Server
SSIS Integration Runtime em Azure Data Factory
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 todos os recursos de configuração e execução do pacote, como parâmetros, conexões, propriedades, variáveis, registro em log e indicadores de progresso. O utilitário dtexec permite carregar pacotes dessas fontes: o servidor Integration Services, um arquivo de projeto .ispac, um banco de dados do Microsoft SQL Server, o Repositório de Pacotes SSIS e o sistema de arquivos.
Observação
Quando você usa a versão atual do utilitário dtexec para executar um pacote criado por uma versão anterior do Integration Services, o utilitário atualiza temporariamente o pacote para o formato de pacote atual. No entanto, você não pode usar o utilitário dtexec para salvar o pacote atualizado. Para obter mais informações sobre como atualizar permanentemente um pacote para a versão atual, consulte Atualizar pacotes do Integration Services.
Este tópico inclui as seguintes seções:
Servidor do Integration Services e Arquivo de Projeto
Quando você usa o dtexec para executar pacotes no servidor do Integration Services, o dtexec chama os procedimentos armazenados catalog.create_execution (Banco de Dados SSISDB),catalog.set_execution_parameter_value (Banco de Dados SSISDB) e catalog.start_execution (Banco de Dados SSISDB) para criar uma execução, definir valores de parâmetro e iniciar a execução. Todos os logs de execução podem ser vistos 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 para o servidor 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 o dtexec para executar um pacote do arquivo de projeto .ispac, as opções relacionadas são: /Proj[ect] e /Pack[age] que são usadas para especificar o caminho do projeto e o nome do fluxo do pacote. Quando você converte um projeto para o 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 e pacotes do Integration Services (SSIS).
Você pode usar o dtexec com ferramentas de agendamento de terceiros para agendar pacotes 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 uma versão de 64 bits do utilitário dtexec (dtexec.exe). Se você tiver que executar determinados pacotes no modo de 32 bits, você tem que 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 tenha as versões de 64 bits e 32 bits de um utilitário de prompt de comando do Integration Services instalado executará a versão de 32 bits no prompt de comando. A versão de 32 bits é executada porque o caminho do diretório para a versão de 32 bits aparece na variável de ambiente PATH antes do caminho do diretório para a versão de 64 bits. (Normalmente, o caminho do diretório de 32 bits é <drive>:\Program Files(x86)\Microsoft SQL Server\110\DTS\Binn, enquanto o caminho do diretório de 64 bits é <drive>:\Program Files\Microsoft SQL Server\110\DTS\Binn.)
Observaçã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 para o utilitário.
Para garantir que você execute a versão de 64 bits do utilitário no prompt de comando, você pode executar uma das seguintes ações:
Abra uma janela de Prompt de Comando, mude 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 a partir desse local.
No prompt de comando, execute o utilitário inserindo 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 sobre computadores com instalações lado a lado
Quando o SQL Server 2019 Integration Services (SSIS) é instalado em uma máquina que tem 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 que você execute a versão correta do utilitário, no prompt de comando, execute o utilitário inserindo o caminho completo (<unidade>:\Arquivos de Programas\Microsoft SQL Server\<version>\DTS\Binn).
Fases de Execução
O utilitário tem quatro fases pelas quais passa durante a sua execução. As fases são as seguintes:
Fase de fornecimento de comandos: o prompt de comando lê a lista de opções e argumentos que foram especificados. Todas as etapas subsequentes são ignoradas se for encontrada uma opção /? ou /HELP.
Fase de carregamento do pacote: O pacote especificado pela opção /SQL,/FILE ou /DTS é carregado.
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 do pacote e compilam.
Opções que configuram o comportamento em tempo de execução do utilitário, como relatórios.
Fase de validação e execução: O pacote é executado ou validado sem execução se a opção /VALIDATE tiver sido especificada.
Códigos de saída devolvidos
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 preencher a variável ERRORLEVEL, cujo valor pode ser testado em instruções condicionais ou lógica de ramificação dentro de um arquivo em lotes. 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 | O pacote falhou. |
| 3 | O pacote foi cancelado pelo usuário. |
| 4 | O utilitário não conseguiu localizar o pacote solicitado. O pacote não pôde ser encontrado. |
| 5 | O utilitário não pôde carregar o pacote solicitado. O pacote não pôde ser carregado. |
| 6 | O utilitário encontrou um erro interno de erros sintáticos ou semânticos na linha de comando. |
Regras de sintaxe
Regras de sintaxe de utilidade
Todas as opções devem começar com uma barra (/) ou um sinal de subtração (-). As opções mostradas aqui começam com uma barra (/), mas o sinal de menos (-) pode ser substituído.
Um argumento deve ser colocado entre aspas se contiver um espaço. Se o argumento não estiver entre aspas, não poderá conter espaço em branco.
As aspas duplas dentro de cadeias de caracteres citadas representam aspas simples escapadas.
Opções e argumentos não são sensíveis a maiúsculas e minúsculas, exceto senhas.
Usando dtexec do xp_cmdshell
Utilizar o dtexec através do xp_cmdshell
Você pode executar dtexec a partir do prompt 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"'
Importante
No Microsoft SQL Server, a opção xp_cmdshell é desabilitada por padrão em novas instalações. A opção pode ser ativada executando o procedimento armazenado do sistema sp_configure . Para obter mais informações, consulte xp_cmdshell opção de configuração do servidor.
Usando dtexec de Bash
O shell Bash é um shell popular para Linux. Ele também pode ser usado no Windows. Você pode executar dtexec a partir do prompt Bash. Observe que um ponto-e-vírgula (;) é um operador delimitador de comando no Bash. Isso é particularmente importante ao passar valores para o pacote usando as /Conn[ection] opções ou /Par[arameter] '/Set uma vez que eles usam o ponto-e-vírgula para separar o nome e o valor do item fornecido. O exemplo a seguir mostra como escapar corretamente do ponto-e-vírgula e de outros itens ao usar Bash e passar valores para um pacote:
dtexec /F MyPackage.dtsx /CONN "MyConnection"\;"\"MyConnectionString\""
Sintaxe
dtexec /option [value] [/option [value]]...
Parâmetros
/? [option_name]: (Opcional). Exibe as opções do prompt de comando ou exibe 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 dtexec Utility.
/Ca[llerInfo]: (Opcional). Especifica informações adicionais para a execução de um pacote. Quando você executa um pacote usando o SQL Server Agent, o agente define esse argumento para indicar que a execução do pacote é invocada pelo SQL Server Agent. Este parâmetro é ignorado quando o utilitário dtexec é executado a partir da linha de comando.
/CheckF[ile]filespec: (Opcional). Defina a propriedade CheckpointFileName no pacote para o caminho e ficheiro especificados em filespec. Esse arquivo é usado quando o pacote é reiniciado. Se essa opção for especificada e nenhum valor for fornecido para o nome do arquivo, o CheckpointFileName do pacote será definido como uma cadeia de caracteres vazia. Se essa opção não for especificada, os valores no pacote serão mantidos.
/CheckP[ointing]{on\off} : (Opcional). Define um valor que determina se o pacote usa pontos de verificação durante a execução do pacote. O valor on especifica que um pacote com falha deve ser executado 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 estará ativado se a opção for declarada sem um valor. A execução do pacote falhará se o valor estiver definido como ativado e o arquivo de ponto de verificação não puder ser encontrado. Se essa opção não for especificada, o valor definido no pacote será mantido. Para obter mais informações, consulte Reiniciar Pacotes Usando Pontos de Verificação.
O /CheckPointing na opção de dtexec é equivalente a definir a propriedade SaveCheckpoints do pacote como Verdadeiro e a propriedade CheckpointUsage como Sempre.
/Com[mandFile]filespec: (Opcional). Especifica as opções de comando que são executadas com dtexec. O arquivo especificado em filespec é aberto e as opções do arquivo são lidas até que o EOF seja encontrado no arquivo. FileSpec é um arquivo de texto. O argumento filespec especifica o nome do arquivo e o 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 essa opção, você pode definir uma configuração em tempo de execução diferente da configuração especificada em tempo de design para o pacote. Você pode armazenar diferentes definições de configuração em um arquivo de configuração XML e, em seguida, carregar as configurações 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. No entanto, você não pode usar a opção /ConfigFile para substituir valores configurados que você também especificou em tempo de design. Para entender como as configurações de pacote são aplicadas, consulte Configurações de pacote.
/Conex[ão]id_or_name;connection_string[[;id_or_name;connection_string]...]: (Opcional). Especifica que o gerenciador de conexões com o nome ou GUID especificado está localizado no pacote e especifica uma cadeia de conexão.
Esta opção requer que ambos os parâmetros sejam especificados: o nome do gerenciador de conexões ou GUID deve ser fornecido no argumento id_or_name e uma cadeia de conexão válida deve ser especificada no argumento connection_string . Para obter mais informações, consulte Ligações do Integration Services (SSIS).
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 originalmente especificados. No entanto, você pode usar a opção /Connection somente para configurações, como configurações do SQL Server, que usam um gerenciador de conexões. Para entender como as configurações de pacote são aplicadas, consulte Configurações de pacote e alterações de comportamento nos recursos do Integration Services no SQL Server 2016.
/Cons[oleLog] [[displayoptions];[ list_options; src_name_or_guid]...]: (Opcional). Exibe entradas de log especificadas no console durante a execução do pacote. Se essa 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, cada entrada de log será exibida. Para limitar as entradas exibidas no console, você pode especificar as colunas a serem exibidas usando o parâmetro displayoptions e limitar os tipos de entrada de log usando o parâmetro list_options .
Observação
Quando você executa um pacote no servidor Integration Services usando o parâmetro /ISSERVER , a saída do console é limitada e a maioria das opções /Cons[oleLog] não são aplicáveis. Todos os logs de execução podem ser vistos 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 para o servidor Integration Services.
Os valores displayoptions são os seguintes:
N (nome)
C (Computador)
O (Operador)
S (Nome da fonte)
G (GUID de origem)
X (GUID de execução)
M (Mensagem)
T (Hora Início e Fim)
Os valores list_options são os seguintes:
I - Especifica a lista de inclusão. Somente os nomes de origem ou GUIDs especificados são registrados.
E - Especifica a lista de exclusão. Os nomes de origem ou GUIDs 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 interagem da seguinte maneira:
A sua ordem de aparição não tem efeito.
Se nenhuma lista de inclusão estiver presente na linha de comando, as listas de exclusão serão aplicadas a todos os tipos de entradas de log.
Se houver listas de inclusão presentes na linha de comando, as listas de exclusão serão aplicadas contra a união de todas as listas de inclusão.
Para obter vários exemplos da opção /ConsoleLog , consulte a seção Comentários .
/D[ts]package_path: (Opcional). Carrega um pacote do Repositório de Pacotes SSIS. Os pacotes armazenados no Repositório de Pacotes SSIS são implantados usando o modelo de implantação de pacotes herdados. Para executar pacotes 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 pacotes e projetos, consulte Implantação de projetos e pacotes.
O argumento package_path especifica o caminho relativo do pacote SSIS, começando na raiz do Repositório de Pacotes SSIS, e inclui o nome do pacote SSIS. Se o caminho ou nome de arquivo especificado no argumento package_path contiver um espaço, você deverá colocar aspas ao redor do argumento package_path .
A opção /DTS não pode ser usada junto com a opção /File ou /SQL . Se várias opções forem especificadas, o dtexec falhará.
/De[crypt]password: (Opcional). Define a senha de descriptografia que é usada quando você carrega um pacote com criptografia de senha.
(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 de código de erro especifica o tipo de código de evento - erro, aviso ou informação - que aciona o sistema para criar os arquivos de despejo de depuração. Para especificar vários códigos de evento, separe cada argumento de código de erro por um ponto-e-vírgula (;). Não inclua aspas com o argumento de código de erro .
O exemplo a seguir gera os arquivos de despejo de depuração quando ocorre o erro DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.
/Dump 0xC020801C/Dumpcódigo de erro: Por padrão, o Integration Services armazena os arquivos de despejo de depuração na pasta, <drive>:\Program Files\Microsoft SQL Server\110\Shared\ErrorDumps.
Observaçã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 com acesso restrito. Por exemplo, antes de enviar seus arquivos de depuração para os serviços 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 de REG_SZ DumpOnCodes à chave do Registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. O valor de dados em DumpOnCodes especifica o código de erro ou códigos que acionam o sistema para criar arquivos de despejo de depuração. Vários códigos de erro devem ser separados por ponto e vírgula (;).
Se você adicionar um valor DumpOnCodes à chave do Registro e usar a opção /Dump , o sistema criará arquivos de despejo de depuração baseados em ambas as configurações.
Para obter mais informações sobre ficheiros de despejo de depuração, consulte Criar Ficheiros de Despejo para Execução de Pacote.
/DumpOnError: (Opcional) Cria os arquivos de despejo de depuração, .mdmp e .tmp, quando ocorre algum erro durante a execução do pacote.
Por padrão, o Integration Services armazena os arquivos de despejo de depuração na pasta <drive>:\Arquivos de Programas\Microsoft SQL Server\110\Shared\ErrorDumps.
Observaçã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 com acesso restrito. Por exemplo, antes de enviar seus arquivos de depuração para os serviços de suporte da Microsoft, recomendamos que você remova todas as informações confidenciais.
Para aplicar esta opção a todos os pacotes executados pelo utilitário dtexec, adicione um valor DumpOnError REG_DWORD à chave do Registro HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\110\SSIS\Setup\DtsPath. O valor do REG_DWORD DumpOnError determina se a opção /DumpOnError precisa ser usada com o utilitário dtexec :
Um valor de dados não nulo indica que o sistema cria arquivos de dump de depuração quando ocorre qualquer erro, independentemente de você utilizar a opção /DumpOnError com o utilitário dtexec.
Um valor de dados zero indica que o sistema não criará os arquivos de despejo de depuração, a menos que o utilizador use a opção /DumpOnError com o utilitário dtexec.
Para obter mais informações sobre arquivos de despejo de depuração, consulte Gerando arquivos de despejo para execução de pacote
/env[Reference]environment reference ID: (Opcional). Especifica a referência de ambiente (ID) usada pela execução do pacote, para um pacote que é implantado no servidor do Integration Services. Os parâmetros configurados para ligar a variáveis usam os valores das variáveis contidas no ambiente.
Você usa a opção /Env[Reference] junto com as opções /ISServer e /Server .
Esse parâmetro é usado pelo SQL Server Agent.
-- /F[ile]filespec: (Opcional). Carrega um pacote salvo no sistema de arquivos. Os pacotes salvos no sistema de arquivos são implantados usando o modelo de implantação de pacote herdado. Para executar pacotes 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 pacotes e projetos, consulte Implantação de projetos e pacotes
O argumento filespec especifica o caminho e o nome do arquivo do pacote. Você pode especificar o caminho como um caminho UNC (Convenção Universal de Nomenclatura) ou um caminho local. Se o caminho ou nome de arquivo especificado no argumento filespec contiver um espaço, você deverá colocar aspas ao redor do argumento filespec .
A opção /File não pode ser usada junto com a opção /DTS ou /SQL . Se várias opções forem especificadas, o dtexec falhará.
/H[elp] [option_name]: (Opcional). Exibe a ajuda para as opções ou exibe a ajuda para o option_name especificado e 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 dtexec Utility.
/ISServerpackagepath: (Opcional). Executa um pacote que é implantado no servidor Integration Services. O argumento PackagePath especifica o caminho completo e o nome do arquivo do pacote implantado no servidor do Integration Services. Se o caminho ou nome de arquivo especificado no argumento PackagePath contiver um espaço, você deverá colocar aspas ao redor do argumento PackagePath .
O formato do pacote é o seguinte:
\<catalog name>\<folder name>\<project name>\package file nameUse a opção /Server juntamente com a opção /ISSERVER . Somente a Autenticação do Windows pode executar um pacote no Servidor SSIS. O utilizador atual do Windows é o utilizado para aceder ao pacote. Se a opção /Server for omitida, a instância local padrão do SQL Server será assumida.
A opção /ISSERVER não pode ser usada em conjunto com a opção /DTS,/SQL ou /File . Se várias opções forem especificadas, o dtexec falhará.
Esse 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. A configstring é a cadeia de caracteres 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
ID da classe: {59B2C6A5-663F-4C20-8863-C83F9B72E2EB}
SQL Server Profiler:
ProgID: DTS. LogProviderSQLProfiler.1
ID da classe: {5C0B8D21-E9AA-462E-BA34-30FF5F7A42A1}
SQL Server:
ProgID: DTS. LogProviderSQLServer.1
ID da classe: {6AA833A1-E4B2-4431-831B-DE695049DC61}
Registo de Eventos do Windows:
ProgID: DTS. LogProviderEventLog.1
ID de classe: {97634F75-1DC7-4F1F-8A4C-DAF0E13AAA22}
Arquivo XML:
ProgID: DTS. LogProviderXMLFile.1
ID de Classe: {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. Um valor de -1 significa que o SSIS permitirá um número máximo de executáveis em execução simultânea igual ao número total de processadores no computador que executa o pacote, mais dois.
/Pack[age]PackageName: (Opcional). Especifica o pacote que é executado. Esse parâmetro é usado principalmente quando você executa o pacote do Visual Studio.
/P[assword]password: (Opcional). Permite a recuperação de um pacote protegido pela Autenticação do SQL Server. Esta opção é utilizada em conjunto com a opção /User . Se a opção /Password for omitida e a opção /User for usada, uma senha em branco será usada. O valor da senha pode ser citado.
Importante
Quando possível, use a autenticação do Windows.
/Par[ameter] [$Package:: | $Project:: | $ServerOption::] parameter_name [(data_type)]; literal_value: (Opcional). Especifica valores de parâmetro. Várias opções /Parameter podem ser especificadas. Os tipos de dados são códigos de tipo CLR em forma de cadeia de caracteres. Para um parâmetro não-string, o tipo de dados é especificado entre parênteses, seguindo o nome do parâmetro.
A opção /Parameter só pode ser usada com a opção /ISServer .
Use os prefixos $Package, $Project e $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 é package.
A seguir está um exemplo de execução de um pacote, fornecendo o valor de "myvalue" para o parâmetro do projeto (myparam) e o valor inteiro 12 para o parâmetro do pacote (anotherparam).
Dtexec /isserver "SSISDB\MyFolder\MyProject\MyPackage.dtsx" /server "." /parameter $Project::myparam;myvalue /parameter anotherparam(int32);12Você também pode definir as propriedades do gerenciador de conexões usando parâmetros. Use o prefixo CM para indicar um parâmetro do gerenciador de conexões.
No exemplo a seguir, a propriedade InitialCatalog do gerenciador de conexões SourceServer é definida como
ssisdb./parameter CM.SourceServer.InitialCatalog;ssisdbNo exemplo a seguir, a propriedade ServerName do gerenciador de conexões 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 do arquivo .ispac. Esse parâmetro é usado principalmente quando você executa o pacote do Visual Studio.
/Remcomentário: (Opcional). Inclui comentários no prompt de comando ou em arquivos de comando. O argumento é opcional. O valor de comentário é uma cadeia de caracteres que deve ser colocada entre aspas ou não conter espaço em branco. Se nenhum argumento for especificado, uma linha em branco será inserida. Os valores de comentário são descartados durante a fase de fornecimento de comandos.
/Rep[orting]level [; event_guid_or_name[; event_guid_or_name[...]]: (Opcional). Especifica os tipos de mensagens a serem relatados. As opções de relatório disponíveis para o nível são as seguintes:
N Sem relatórios.
E Erros são reportados.
W Os avisos são reportados.
I Mensagens informativas são relatadas.
C Eventos personalizados são relatados.
P O progresso foi relatado.
V Relatório verboso.
Os argumentos de V e N excluem-se mutuamente de todos os outros argumentos; devem ser especificados isoladamente. 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 por um carimbo de data/hora no formato "AA/MM/DD HH:MM:SS" e por um GUID ou nome amigável, se disponível.
O parâmetro opcional event_guid_or_name é uma lista de exceções para os provedores de log. A exceção especifica os eventos que não são registrados que, de outra forma, poderiam ter sido registrados.
Não é necessário excluir um evento se o evento não for normalmente registrado por padrão
/Res[tart] {deny | force | ifPossible}: (Opcional). Especifica um novo valor para a CheckpointUsage propriedade no pacote. Os significados dos parâmetros são os seguintes:
Negar Define a CheckpointUsage propriedade para DTSCU_NEVER.
Força Define CheckpointUsage a propriedade como DTSCU_ALWAYS.
sePossível Define CheckpointUsage a propriedade como DTSCU_IFEXISTS.
O valor padrão de force é usado se nenhum valor for especificado.
/Set [$Sensitive::]propertyPath; valor: (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 essa opção é usada, /set altera o argumento propertyPath para o valor especificado. Várias opções /set podem ser especificadas.
Além de usar a opção /set com a opção /F[ile], também pode usar a opção /set com a opção /ISServer ou a opção /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, ao usar /set com /ISServer, você pode usar o prefixo $Sensitive opcional para indicar que a propriedade deve ser tratada como confidencial no servidor Integration Services.
Você pode determinar o valor de propertyPath executando o Assistente de Configuração de Pacote. Os caminhos para os itens selecionados são exibidos na página final Concluindo o Assistente e podem ser copiados e colados. Se você tiver usado o assistente apenas para essa finalidade, poderá cancelá-lo depois de copiar os caminhos.
A seguir está um exemplo de execução de um pacote que é salvo no sistema de arquivos e fornecendo um novo valor para uma variável:
dtexec /f mypackage.dtsx /set \package.variables[myvariable].Value;myvalueO exemplo a seguir de executar um pacote a partir do arquivo de projeto .ispac e definir parâmetros de pacote e projeto.
/Project c:\project.ispac /Package Package1.dtsx /SET \Package.Variables[$Package::Parameter];1 /SET \Package.Variables[$Project::Parameter];1Você pode usar a opção /set para alterar o local a partir do qual as configurações do pacote são carregadas. No entanto, você não pode usar a opção /set para substituir um valor que foi especificado por uma configuração em tempo de design. Para entender como as configurações de pacote são aplicadas, consulte Configurações de pacote e alterações de comportamento nos recursos do Integration Services no SQL Server 2016.
/ser[ver]server: (Opcional). Quando a opção /SQL ou /DTS é especificada, essa opção especifica o nome do servidor 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 server_instance pode ser citado.
A opção /Ser[ver] é necessária quando a opção /ISServer é especificada.
/SQ[L]package_path: Carrega um pacote armazenado no SQL Server, no banco de dados msdb . Os pacotes armazenados no banco de dados msdb são implantados usando o modelo de implantação de pacote. Para executar pacotes 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 pacotes e projetos, consulte Implantação de projetos e pacotes.
O argumento package_path especifica o nome do pacote a ser recuperado. Se as pastas estiverem incluídas no caminho, elas serão terminadas por barras invertidas ("\"). O valor package_path pode ser cotado. Se o caminho ou nome de arquivo especificado no argumento package_path contiver um espaço, você deverá colocar aspas ao redor do argumento package_path .
Você pode usar as opções /User, /Password e /Server junto com a opção /SQL .
Se você omitir a opção /User , a Autenticação do Windows será usada para acessar o pacote. Se você usar a opção /User , o nome de logon /User especificado estará associado à Autenticação do SQL Server.
A opção /Password é usada apenas em conjunto 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 , uma senha em branco será usada.
Importante
Quando possível, use a autenticação do Windows.
Se a opção /Server for omitida, a instância local padrão do SQL Server será assumida.
A opção /SQL não pode ser usada junto com a opção /DTS ou /File . Se várias opções forem especificadas, o dtexec 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 protegido pela Autenticação do SQL Server. Esta opção é usada somente quando a opção /SQL é especificada. O valor user_name pode ser cotado.
Importante
Quando possível, use a autenticação do Windows.
/Va[lidate]: (Opcional). Interrompe a execução do pacote após a fase de validação, sem realmente executar o pacote. Durante a validação, o uso da opção /WarnAsError faz com que o dtexec trate um aviso como um erro; portanto, o pacote falhará se ocorrer um aviso durante a validação.
/VerifyB[uild]major[; minor[; build]]: (Opcional). Verifica o número de compilação de um pacote em relação aos números de compilação que foram especificados durante a fase de verificação nos argumentos principal, secundário e de compilação . Se ocorrer uma incompatibilidade, o pacote não será executado.
Os valores são inteiros longos. O argumento pode ter uma das três formas, com um valor para major sempre necessário:
maior
maior; menor
maior; menor; construir
/VerifyP[ackageID]packageID: (Opcional). Verifica o GUID do pacote a ser executado comparando-o com o 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 estiver assinado ou não for válido, o pacote falhará. Para obter mais informações, consulte Identificar a origem dos pacotes com assinaturas digitais.
Importante
Quando configurado para verificar a assinatura do pacote, o Integration Services verifica apenas se a assinatura digital está presente, é válida e é de uma fonte confiável. O Integration Services não verifica se o pacote foi alterado.
Observação
O valor opcional BlockedSignatureStates do registo pode especificar uma configuração mais restritiva do que a opção de assinatura digital definida no SSDT (SQL Server Data Tools) ou na linha de comando dtexec. Nessa situação, a configuração de registro mais restritiva substitui as outras configurações.
/VerifyV[ersionID]versionID: (Opcional). Verifica o GUID da versão de um pacote a ser executado comparando-o com o valor especificado no argumento version_id durante a Fase de Validação do pacote.
/VLog[Filespec]: (Opcional). Grava todos os eventos do pacote 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 um 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 grava apenas eventos de log nos provedores de log que foram habilitados quando o pacote foi projetado.
/W[arnAsError]: (Opcional). Faz com que o pacote considere um aviso como um 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 for 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. Essa opção é definida pelo SQL Server Agent quando as seguintes condições forem verdadeiras:
O tipo de etapa de trabalho é pacote 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 SQL Server Agent usando procedimentos armazenados ou o SQL Server Management Objects (SMO) para criar o trabalho de forma programática.
Essa opção só é usada pelo SQL Server Agent. Esta opção será ignorada se você executar o utilitário dtexec no prompt de comando.
Observações
A ordem na qual você especifica as opções de comando pode influenciar a maneira como o pacote é executado:
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 comando 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 a 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 no Repositório de Pacotes SSIS, use o seguinte código:
dtexec /dts "\File System\MyPackage"
Para validar um pacote que usa a Autenticação do Windows e é 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 a Autenticação do Windows e é salvo na instância local padrão do SQL Server e verificar a versão antes de ser executado, 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ção
Os argumentos package_path ou filespec das opções /SQL, /DTS ou /FILE devem ser colocados entre aspas se o caminho ou o nome do arquivo contiver um espaço. Se o argumento não estiver entre aspas, não poderá conter espaço em branco.
Opção de registo
Se houver três tipos de entrada de log de A, B e C, a seguinte opção ConsoleLog sem um parâmetro exibirá todos os três tipos de log com todos os campos:
/CONSOLELOG
A opção a seguir exibe todos os tipos de log, mas apenas com as colunas Nome e Mensagem:
/CONSOLELOG NM
A opção a seguir exibe todas as colunas, mas apenas para o tipo de entrada de log A:
/CONSOLELOG I;LogEntryTypeA
A opção a seguir exibe apenas a entrada de log do tipo A, com as colunas Nome e Mensagem:
/CONSOLELOG NM;I;LogEntryTypeA
A opção a seguir exibe entradas de log para os tipos de entrada de log A e B:
/CONSOLELOG I;LogEntryTypeA;LogEntryTypeB
Você pode obter os mesmos resultados usando várias opções do 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 a entrada de log do tipo A, com todos os campos:
/CONSOLELOG NM;I;LogEntryTypeA /CONSOLELOG
O seguinte exibe todas as entradas de log, exceto o tipo de entrada de log A: ou seja, exibe os tipos de entrada de log B e C:
/CONSOLELOG E;LogEntryTypeA
O exemplo a seguir obtém 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 é encontrado nas listas incluída e excluída, ele será excluído.
/CONSOLELOG E;LogEntryTypeA /CONSOLELOG I;LogEntryTypeA
Opção SET
O exemplo a seguir mostra como usar a opção /SET , que permite alterar o valor de qualquer propriedade ou variável de pacote quando você inicia o pacote a partir da linha de comando.
/SET \package\DataFlowTask.Variables[User::MyVariable].Value;newValue
Opção de projeto
O exemplo a seguir mostra como usar o /Project e a opção /Package .
/Project c:\project.ispac /Package Package1.dtsx
O exemplo a seguir mostra como usar as opções /Project e /Package e definir 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 projeto e do gerenciador de conexões.
/Server localhost /ISServer "\SSISDB\MyFolder\Integration Services Project1\Package.dtsx" /Par "$Project::ProjectParameter(Int32)";1 /Par "CM.SourceServer.InitialCatalog";SourceDB