Eu tenho vários pacotes de trabalho para cada um, configurei um trabalho no sql server agent. Às vezes eu deveria correr todos juntos. Qual é a melhor maneira de executá-los todos em uma determinada sequência? Estou um pouco surpreso que o sql server agent não seja capaz de incluir trabalhos como etapas de trabalho a serem executadas. eu tentei
relate perguntas
-
Melhores práticas para conectar bancos de dados que estão em diferentes regiões geográficas
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Quanto "Padding" coloco em meus índices?
-
Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?
-
Downgrade do SQL Server 2008 para 2005
O SQL Agent não é considerado "classe empresarial" como agendador de tarefas. Faltam muitas funcionalidades que você acaba tendo que construir sozinho. Um desses exemplos seriam as dependências. Como resultado, você é forçado a colocar a maior parte dessa lógica nos pacotes SSIS. Não necessariamente uma coisa ruim ... apenas uma dor de construir e gerenciar a si mesmo.
Então, essa é a minha resposta, crie um pacote SSIS e use alguns comandos t-sql para chamar os trabalhos do SQL Agent conforme desejado. Certifique-se de ter seus requisitos e cenários claramente definidos. Você pode não querer ter vários trabalhos atingindo as mesmas tabelas ao mesmo tempo, por exemplo.
HTH
Você deve tentar usar um script T-SQL nas etapas de seus trabalhos, usando o procedimento armazenado do sistema sp_start_job . Isso permitirá que você encadeie quantos trabalhos desejar.
Existem ferramentas de terceiros que permitirão que você faça isso, se você não tiver o tempo de curva de aprendizado ou o conhecimento existente para usar o SSIS. Isenção de responsabilidade: eu trabalho para uma dessas empresas. Confira o SQL Sentry - ele lida com tarefas do SQL Server (incluindo pacotes SSIS), tarefas agendadas do Windows e até tarefas do Oracle. Aqui estão os recursos do SQL Server (incluindo encadeamento e enfileiramento):
Infelizmente, acho que você não conseguirá usar o SQL Agent sozinho para encadear vários trabalhos. O método sp_start_job sugerido por Marian inicia os trabalhos de forma assíncrona; você não pode esperar que eles sejam concluídos antes de passar para o próximo comando ou a próxima etapa.