Pergunta

Eu estou tentando executar remotamente um pacote dtsx de um arquivo bat com este comando:

DTEXEC /DTS "\File System\MY_PACKAGE_NAME" /SERVER MY_SERVER_NAME /MAXCONCURRENT " -1 " /CHECKPOINTING OFF  /REPORTING V

Isso é bom trabalhar localmente mas não remotamente (eu tenho direitos de administrador na máquina eu estou apontando para e eu tenho permissões SQL também) Estou recebendo um erro de tempo limite (Acesso limite expirou).

Foi útil?

Solução 2

Depois de um pouco de pesquisa parece que é impossível executar DTEXEC remotamente (ele precisa ser executado localmente - a execução remota não é suportado)

.

Para superar essa limitação o seguinte método parece ser amplamente implementado:

  1. configurar um trabalho SQL para executar o pacote dtsx
  2. configurar um procedimento armazenado para executar o trabalho
  3. usar linha de comando isql em um arquivo BAT (remotamente executado) para executar o procedimento armazenado na instância do SQL relevante (com credenciais SQL e não as credenciais da máquina)

Outras dicas

É muito possível, e tão facilmente. Não há necessidade de ter um procedimento de armazenamento, nem agente de SQL, ou Web, ou desenvolvimento .NET. Estou surpreso a Microsoft nunca sugeriu o seguinte:

  1. Agendar uma tarefa no SQL Server para executar o pacote dtsx. Desativá-lo, por isso não será executado até que você executá-lo manualmente a partir de um PC remoto.
  2. Execute a tarefa a partir do PC usando o comando:

schtasks / run / tn MyTask [/ s MySQLServer [/ u [domain] usuário / senha p]] /?

Nota: se você não gosta expor a senha, utilize o comando 'PSEXEC' para executar o comando 'schtasks' (baixar a ferramenta gratuita e poderosa de http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx

SSIS também expõe um serviço web no servidor de hospedagem. Você poderia por meio de código, consulta uma máquina para embalagens, embalagens executado através de banco de dados ou sistema de arquivos e adicionar / modificar as variáveis ??do pacote de programação através de qualquer plataforma de programação que você gosta.

Dito isto, você também pode configurar o webservice para chamar o arquivo de lote local que contém o comando 'DETEXEC'.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top