none
Automatizar um SSIS RRS feed

Respostas

  • Olá Daniel,

     

    Você pode salvar uma das instruções abaixo em um arquivo BAT e agendá-lo no tarefas agendas.

     

    Para executar o pacote em um arquivo

    dtexec /F "Diretório:\SeuArquivo.dtsx"

     

    Para executar o pacote em um servidor SQL
    dtexec /S ServidorSQL /SERVER SeuServidorSQL /SQL Pacote

     

    Entendo que se o pacote estiver em um arquivo, o agendador de tarefas do Windows possa ser bem indicado, mas para as demais situações um job é mais indicado (e mais seguro).

     

    Na criação do job, durante o Step, basta trocar de TransactSQL para SQL Server Integration Service Package e preencher as informações. Pode ser necessário configurar alguns proxies, mas isso é um outro passo. Tente dessa primeira forma se for optar por um JOB.

     

    [ ]s,

     

    Gustavo

    terça-feira, 12 de agosto de 2008 13:46

Todas as Respostas

  • Olá Daniel,

     

    Você pode criar um Job para executá-lo ou se preferir agendar uma tarefa no Windows para rodar um comando DOS que chame o utilitário dtexec e rode o pacote SSIS. Você gostaria de utilizar qual ? Deseja alguma orientação específica ?

     

    [ ]s,

     

    Gustavo

     

    terça-feira, 12 de agosto de 2008 12:55
  • Gostaria de utilizar o Job. Mas tenho curiosidade no Bath.

     

    terça-feira, 12 de agosto de 2008 13:18
  • Olá Daniel,

     

    Você pode salvar uma das instruções abaixo em um arquivo BAT e agendá-lo no tarefas agendas.

     

    Para executar o pacote em um arquivo

    dtexec /F "Diretório:\SeuArquivo.dtsx"

     

    Para executar o pacote em um servidor SQL
    dtexec /S ServidorSQL /SERVER SeuServidorSQL /SQL Pacote

     

    Entendo que se o pacote estiver em um arquivo, o agendador de tarefas do Windows possa ser bem indicado, mas para as demais situações um job é mais indicado (e mais seguro).

     

    Na criação do job, durante o Step, basta trocar de TransactSQL para SQL Server Integration Service Package e preencher as informações. Pode ser necessário configurar alguns proxies, mas isso é um outro passo. Tente dessa primeira forma se for optar por um JOB.

     

    [ ]s,

     

    Gustavo

    terça-feira, 12 de agosto de 2008 13:46
  • Gustavo,

     

    recebeu o post?

    terça-feira, 12 de agosto de 2008 13:48
  • Criei o job e tentei executa-lo mais está dando esse erro.

     

    executed as user: AUTORIDADE NT\NETWORK SERVICE. The package could not be found.  The step

     

    Tem ideia?

    terça-feira, 12 de agosto de 2008 17:29
  • DrAlves,

     

    Qual é a conta de usuário que esta configurada para executar este JOB!!!

    terça-feira, 12 de agosto de 2008 17:51
  • O meu usuario de rede, que por sua vez está marcado todos os server roles. Porém no UserMapping somente está marcado as opções public e db_owner

    terça-feira, 12 de agosto de 2008 18:08
  • DrAlves,

     

    Mas na configuração do JOB, esta usuário que esta configurado para executar o JOB?

    terça-feira, 12 de agosto de 2008 18:17
  • Junior,

     

    o Job foi criado pelo usuario TELEMAR\269181, mas não sei ver se ele está configurado para executar. Mas acredito que o mesmo que crie possa executar.

    terça-feira, 12 de agosto de 2008 18:35
  • Amigos,

     

    conseguiram ver alguma coisa?

     

    terça-feira, 12 de agosto de 2008 20:32
  • Olá Daniel,

     

    Você está começando a vivenciar algumas das "dores de cabeça" com jobs agendados com o SSIS para usuários que não sejam administradores do SQL Server. Vamos por partes:

     

    - O login que criou o JOB é SysAdmin da máquina ?

    - O login que criou o JOB é um login Windows ?

    - O pacote SSIS está em um arquivo ou hospedado em um SQL Server ?

    - O que faz o pacote SSIS ?

     

    [ ]s,

     

    Gustavo

     

    quarta-feira, 13 de agosto de 2008 00:44
  • Gustavo,

     

    Não sabia que era tão dificil. Mais vamos lá.

     

    - O login que criou o JOB é SysAdmin da máquina ?

    R:. Quando vou na pasta Securty dou um duplo click no login e vou na pasta server roles está opção está marcada.

    - O login que criou o JOB é um login Windows ?

    R:. Exatamente

    - O pacote SSIS está em um arquivo ou hospedado em um SQL Server ?

    R:. É um pacote está em um arquivo. Que por sua vez está salvo na máquina que está o banco de dados.

    - O que faz o pacote SSIS ?

    R:. O pacote realiza um FTP(baixa alguns arquivos), executa importação destes arquivos para uma tabela SQL 2005

     

     

    Aguardo retorno

    quarta-feira, 13 de agosto de 2008 12:50
  • Gustavo,

     

    conseguiu ver alguma coisa?

     

    quarta-feira, 13 de agosto de 2008 15:02
  • Oi Daniel,

     

    Eu estava receoso das suas respostas, mas elas foram exatamente as que eu não queria ter conhecimento. Se alguma delas fosse diferente, poderíamos tentar outros procedimentos. No entanto, baseado nas suas respostas, tudo está configurado para permitir a execução do pacote a questão é mais difícil.

     

    Não há uma solução trivial para o seu problema. Ele pode envolver a conta de serviço do SSIS, as permissões dessa conta de serviço no AD (Impersonate / Trusted For Delegation), as conexões Trusted Connection com o SQL Server que ela pode estar fazendo no pacote, etc. Não tenho uma receita de bolo para esse problema. Se eu me deparasse com ele na frente da minha tela poderia fazer algumas tentativas, mas para postar um procedimento direto aqui no fórum sem vivenciá-lo... Fiquei sem idéias.

     

    A menos que você possa usar as tarefas agendadas (o que possivelmente não é a melhor solução), eu deixo essa para os especialistas em SSIS e os MVPs. Alguém aí poderia nos ajudar ?

     

    [ ]s,

     

    Gustavo

    quarta-feira, 13 de agosto de 2008 17:41
  • Caramba o buraco é mais em baixo do que eu pensava. Porém tentei agendar a tarefa conforme você me orientou anteriormente.

     

    Segue o comando que coloquei no editor de texto

     

    dtexec /C:\Documents and Settings\269181\Meus documentos\Visual Studio 2005\Projects\SimpleData\SimpleData\bin\Package.dtsx

     

    Após fechar o arquivo txt eu mudei a extensão do arquivo para .Bat. Bom depois desse procedimento eu vou em adicionar uma tarefa e no passo de colocar a senha eu coloco a minha senha de rede, até ai tudo bem porém quando eu clico em concluir aparece a seguinte mensagem.

    "A nova tarefa foi criada, mas talvez não seja executada, pois as informações de conta não puderam ser definidas.

    O erro é: 0x80041315: O serviço 'Agendador de tarefas' não está sendo executado"

     

    Desculpe pela insistência, mas estou precisando de forma urgente colocar esse package de forma automática.

     

    Desde já agradeço

     

    quarta-feira, 13 de agosto de 2008 19:32
  • Olá Daniel,

     

    Acredito que essa mensagem de erro seja provocada pela mesma razão do SSIS. Me parece que há algo relacionado ao AD que não está permitindo validar as credenciais (tanto as suas de rede, quanto as do serviço do SSIS (Network Service)). Parece-me que o problema está um pouco além do escopo do SQL Server. É necessário verificar se há algum problema no AD primeiramente.

     

    [ ]s,

     

    Gustavo

     

    quarta-feira, 13 de agosto de 2008 20:06
  • Esse AD aonde podemos configura-lo?

    quarta-feira, 13 de agosto de 2008 20:36
  • Olá Daniel,

     

    O AD é o acrônimo de Active Directory que é o banco de dados do Windows (não está em SQL Server) onde estão armazenadas as contas e senhas de usuários, as políticas de segurança, o cadastro dos domínios, ous, grupos, etc.

     

    [ ]s,

     

    Gustavo

    quarta-feira, 13 de agosto de 2008 21:32
  • Como faco para configura-lo? Estou precisando deixar esse pacote automatico ate o final da semana. Tem alguma ideia? Ou terei que falar com o administrador da rede para ele configurar o meu perfil?

    quinta-feira, 14 de agosto de 2008 03:37
  • DrAlves,

     

    A configuração do AD, não é algo simples de ser realizado, envolve diversos procedimentos!!!

     

    Aconselho a conversão com o seu Administrador da Rede para que possa tomar a melhor decisão.

     

    Primeiramente seria o caso do usuário que você esta utilizando ter alguns níveis de permissão para poder trabalhar com este pacote dentro do seu ambiente, e executar um arquivo que será automatizado.

     

    quinta-feira, 14 de agosto de 2008 11:21
  • Bom Dia Daniel,

     

    Pode ser necessário (não estou afirmando) configurar a conta do seu perfil com a opção "Account is sensitive and cannot be delegated" desmarcada e configurar a conta de serviço do SQL Server com a opção "trusted for delegation". O servidor do SQL Server também deve ter um SPN registrado.

     

    No entanto essas são questões relacionadas ao AD que eu particularmente não estou seguro se elas são suficientes para resolver o seu problema.

     

    Honestamente falando, se você realmente precisa disso até o fim de semana, recomendo procurar um especialista. Ir no método tentativa e erro pode demorar mais do que o tempo que você tem. Mudar as propriedades da conta no AD e registrar um SPN pode envolver reiniciar o serviço do SQL Server.

     

    [ ]s,

     

    Gustavo

    quinta-feira, 14 de agosto de 2008 11:22
  • Gustavo,

     

    eu não tenho preocupação, pois o SQL 2005 está na minha máquina que por sua vez não é um servidor. Estou engatinhando ainda com as minhas atividades na empresa. Porém eu gostaria de deixar esse job programado já para a próxima semana.

     

    Vamos tentar realizar essas alterações para ver se funciona?

     

    Ah. O meu sistema operacional é o XP Service Pack3 e sou o ADM da minha máquina.

     

    Aguardo seu retorno.

     

    quinta-feira, 14 de agosto de 2008 13:42
  • DrAlves,

     

    Então tem que testar para saber se vai funcionar!!!

    quinta-feira, 14 de agosto de 2008 13:49
  • Olá Daniel,

     

    Se você é administrador da sua máquina e tem controles totais além da possibilidade de reiniciar o SQL Server quando você quiser é sem dúvida um bom sinal. No entanto, o maior problema são as configurações que envolvem o AD. Mesmo você sendo administrador da máquina, você não é administrador do domínio e não poderá fazer as configurações na conta no Active Directory. Possivelmente também não poderá configurar um SPN na sua estação (mesmo sendo administrador).

     

    Essas são configurações que se feitas talvez ajudem a resolver o problema (não estou certo). Você precisará do administrador de rede para trabalhá-las e tomára que ele saiba realizá-las.

     

    [ ]s,

     

    Gustavo

     

    quinta-feira, 14 de agosto de 2008 13:58
  • Boa tarde a todos, caro Gustavo olhei este post pela manha porem só agora pude responder, quando vc disse que queria uma ajuda do pessoal de BI, um pedido seu é uma ordem, pois te admiro muito como profissional e MVP, porem não desmerecendo  os outros que também são excelentes com varias qualidades .. mais vamos lá

     

    fiz um passo a passo aqui ...

     

    Cara,  eu agendo diversos pacotes meus aqui e nunca tive problema, porem eu faço de outra forma.

    1) Primeira eu crio um "Control Flow", e dentro dele diversos "Data Flow", ou seja, que são os pacotes.vc pode ter vários

    2) Eu salvo esses pacotes em um diretório especidifo ex. C:\pacotes\pacote1.dtsx
    e depois fecho

    3) Volto no Sql Server Management Studio\Server type\ provavelmente deve estar marcado pra Database Engine, dai vc muda pra Integration services\ server name\coloca o nome do seu servidor.

    4) vai ter duas abas ao lado esquerdo: Running Packages  e Stored Packages.
    Abra o Stored Packages\File System\lado direito\import package\ e lá vc aponta pro seu pacote, coloca usuario senha, etc, podendo até criptografar esse pacote na ultima aba Protection level.


    5) Dai vc volta alogar denovo como database engine, na aba que está logo acima, e pronto, vai verifica se o Agent está stardado.

    6) Po ultimo vc criar um novo job, na aba General da o nome\ na aba abaixo tem Steps, aqui que é o interresante, pois vc vai dar o nome do step e quando chegar em Type abre-se uma lista e vc aponta para o sql server integration package\ package source:vc aponta para file system\ em baixo o procura aonde esta o pacote e depois é so agendar..

     

     

    Cara se isso não resolver provalmente essa conta não tem permissão nenhuma na tua maquina.
    pois pra tirar a conclusão crie um pequeno backup  agendado e verifica se o job vai funcionar.

    qualquer coisa retorne
    abs. Wagner Nogueira

     

    quinta-feira, 14 de agosto de 2008 15:57
  • Olá Wagner,

     

    Obrigado por responder e obrigado pelos elogios (eu ainda não sou MVP (rs)). O melhor do fórum é realmente a troca de experiências visto que é impossível que alguém sozinho conheça todos os aspectos do SQL Server e saiba responder todas as dúvidas sem qualquer tipo de complementação ou ajuda. Que bom que existem pessoas como você disposta a ajudar também.

     

    Embora o problema da conta não seja o foco, sua solução é bem interessante e acho que deve ser suficiente para resolver o problema. Agradeço a ajuda.

    Daniel, resolveu ?

     

    [ ]s,

     

    Gustavo

    sábado, 16 de agosto de 2008 15:01
  • Meu caro, bom dia,

    Sua dica me ajudou muito aqui, mas complemento ela com a dica do Charles Wang, no post <http://social.msdn.microsoft.com/Forums/sqlserver/en-US/e97932f7-b1d3-4691-8a76-63b7c6b54dd2/ssis-ftp-step-gives-an-error-the-password-was-not-allowed-but-does-not-even-connect-to-ftp-server?forum=sqlintegrationservices&prof=required>, existe um outro detalhe que estava faltando para mim e resolveu meu problema.  Se trata de um erro ao executar a conexão com o FTP, fica dando que a senha não é válida quando mando executar o pacote via Job do SQL Server.


    Grande abraço pessoal.

    quinta-feira, 14 de novembro de 2013 13:13