Unix e Triggering Jobs do MS SQL Server Integration Services

3

Temos um servidor AIX que contém muitos dados e, uma vez por noite, despejamos esses dados em CSV para importar para o MS SQL Server por motivos de relatório.

No momento, cada etapa do processo é desvinculada e acionada simplesmente de forma cronometrada - por exemplo, os processos de despejo de CSV no sistema AIX começam às 3h e levam $ x de tempo para serem concluídos e, em seguida, A tarefa do MS SQL Server Integration Services é iniciada às 6h.

Como tal, há muito 'tempo morto' embutido no processo, o que seria bom eliminar.

Portanto, existe alguma maneira de acionar uma tarefa do SQL Server Integration Services de um sistema Unix?

    
por Moo 14.08.2009 / 11:02

4 respostas

2

você pode usar freeTDS (ou jTDS se você usar essa coisa chamada java) para lhe dar acesso ao seu servidor sql do Unix / AIX.

Do FreeTDS você pode autenticar no SQL Server & execute qualquer T-SQL que você goste. Você pode "disparar" o trabalho do SSIS chamando o sproc sp_start_job que reside no MSDB para iniciar o trabalho por nome ou job_id.

    
por 14.08.2009 / 11:25
0

Uma maneira fácil é a pesquisa. Se você adicionar um elemnt "se houver arquivos csv, importar arquivos csv" para o início do seu pacote ssis, você poderá agendar o pacote para ser executado a cada um quarto de hora.

    
por 14.08.2009 / 11:18
0

O SSIS não suporta diretamente esse tipo de funcionalidade no sistema básico. Duas opções são:

  • Construa um poller no lado do Windows que procure algum sinal de que o job unix terminou e, em seguida, execute o pacote do SSIS. Se o arquivo levar algum tempo para ser gerado, você deve incluir o trabalho em algo que atualize o registro de data e hora em outro arquivo quando ele for concluído. Outra opção é fazer com que o poller examine um diretório e procure por novos arquivos de controle criados em cada execução. Se o poller for executado (digamos) a cada 5 minutos entre a meia-noite e as 4 da manhã, ele pegará o trabalho com o mínimo de latência. Se não pegar o arquivo em uma janela razoável, você pode assumir que algo deu errado enquanto estava sendo gerado e falhar na tarefa.

  • Compre uma ferramenta de programação de plataforma cruzada como o Control-M. Esse tipo de sistema é projetado para coordenar esses trabalhos em várias plataformas. No entanto, os planejadores corporativos são bastante caros e provavelmente um exagero para um único trabalho. Você pode considerar este tipo de sistema se você tem muito deste tipo de problema acontecendo, mas para uma única tarefa é realmente quebrar uma noz com uma marreta.

por 14.08.2009 / 14:06
0

Os pacotes SSIS são executados usando o dtexec. Portanto, se você já tiver alguma forma de acionar um processo no lado do Windows a partir do AIX, poderá usar a mesma técnica para iniciar um pacote do SSIS no SQL Server.

    
por 16.08.2009 / 08:57