locked
Automatizar geração de arquivo via query RRS feed

  • Pergunta

  • Eu gostaria de executar uma query (select) automaticamente 1 vez ao dia.
    Essa query deve gerar um arquivo que pode ser .rpt ou .txt, tanto faz.
    Ao criar um job, é possível usar comandos tsql, porém não sei como fazer para que o resultado venha em arquivo.
    Existe alguma maneira de fazer isso via job ? Ou sou obrigado a criar um package ?

    Eduardo
    quinta-feira, 14 de janeiro de 2010 16:04

Respostas

  • efCampos,
    e só colar no step do JOB:

    exec xp_cmdshell 'SQLCMD -SSPA35NT\LAB -E -q"SELECT * FROM ZABSENTADM" -oF:\Mssql2KData\Laboratorio\Backups\Arquivo.txt'

    Espero ter ajudado!

    MCP | MCTS | MCITP - http://leivio.spaces.live.com/
    • Marcado como Resposta efcampos sexta-feira, 15 de janeiro de 2010 12:27
    quinta-feira, 14 de janeiro de 2010 18:43
  • Leivio,

    O comando deu certo ao incluir o banco no select :

    exec xp_cmdshell 'SQLCMD -S"SPA35NT\LAB" -E -q"SELECT * FROM Absent..ZABSENTADM" -o"F:\Mssql2KData\Laboratorio\Backups\Arquivo.txt"'

    Valeu pela ajuda...

    Eduardo
    • Marcado como Resposta efcampos sexta-feira, 15 de janeiro de 2010 12:27
    sexta-feira, 15 de janeiro de 2010 12:26

Todas as Respostas

  • EfCAmpos,
    você pode usar o comando abaixo. já que será executado apenas uma vez não vejo problemas.


    exec xp_cmdshell "SQLCMD -S[SeuServidor] -E -q[SELECT...] -o[C:\seuArquivo.txt]"

    Mas existem outras maneiras com BCP.

    Tente essa vê se atende a sua necessidade.


    --------------------------------------------------------------------------------
    MCP | MCTS | MCITP - http://leivio.spaces.live.com/

    quinta-feira, 14 de janeiro de 2010 16:14
  • Leivio,

    Eu estou executando a query da seguinte maneira: (diretamente no Management Studio)

    exec xp_cmdshell "SQLCMD -S[SPA35NT\LAB] -E -q[SELECT * FROM ZABSENTADM] -o[F:\Mssql2KData\Laboratorio\Backups\Arquivo.txt]"

    onde SPA35NT\LAB = Servidor\Instancia

    E recebo a seguinte mensagem :
    Sqlcmd: '* FROM ZABSENTADM]': Unexpected argument. Enter '-?' for help.

    Se eu executo dentro de um job como TSQL, o comando executa mas não gera arquivo nenhum.

    Tem mais algum detalhe que está faltando ? ou que eu esteja fazendo errado ?

    Eduardo
    quinta-feira, 14 de janeiro de 2010 18:10
  • efCampos,
    e só colar no step do JOB:

    exec xp_cmdshell 'SQLCMD -SSPA35NT\LAB -E -q"SELECT * FROM ZABSENTADM" -oF:\Mssql2KData\Laboratorio\Backups\Arquivo.txt'

    Espero ter ajudado!

    MCP | MCTS | MCITP - http://leivio.spaces.live.com/
    • Marcado como Resposta efcampos sexta-feira, 15 de janeiro de 2010 12:27
    quinta-feira, 14 de janeiro de 2010 18:43
  • Leivio,

    Agora está gerando o arquivo Arquivo.txt, mas ao invés de trazer registros, está trazendo o seguinte erro...

    Invalid object name 'ZABSENTADM'.

    Esse objeto existe ( e é uma tabela), então pode ser algum erro na configuração do step...

    Essa tabela está no banco Absent, então eu defini no step como Database Absent, e type Transaction-SQL script (TSQL).
    Isso está correto, ou eu deveria executar no database Master, e aí eu teria que dar o nome do banco em algum lugar no comando ?

    Eduardo
    quinta-feira, 14 de janeiro de 2010 19:35
  • Leivio,

    O comando deu certo ao incluir o banco no select :

    exec xp_cmdshell 'SQLCMD -S"SPA35NT\LAB" -E -q"SELECT * FROM Absent..ZABSENTADM" -o"F:\Mssql2KData\Laboratorio\Backups\Arquivo.txt"'

    Valeu pela ajuda...

    Eduardo
    • Marcado como Resposta efcampos sexta-feira, 15 de janeiro de 2010 12:27
    sexta-feira, 15 de janeiro de 2010 12:26
  • Eu utilizei o codigo e gerou o txt. Porem gerou o txt com uma linha de registro apenas. E se eu rodar a procedure sozinha aparece uma porrada de registro. Sabe o que poderia ser?
    sexta-feira, 1 de março de 2019 16:48
  • Emanuel,

    O mesmo select sendo executado no Management Studio traz todos os registros?


    Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    sexta-feira, 1 de março de 2019 17:12
    Moderador
  • Deleted
    sexta-feira, 1 de março de 2019 18:13