Estou trabalhando em um sistema que gera vários emails recorrentes como parte de vários trabalhos agendados no SQL Server Agent. Os e-mails contêm relatórios baseados em texto que são vagamente associados ao assunto de seus trabalhos, mas não dependem do resultado do trabalho. Quando um cliente solicita uma alteração no conteúdo do relatório ou na lista de distribuição, pode ser difícil encontrar o trabalho/etapa específico responsável por gerar o e-mail/relatório.
Para facilitar a manutenção dessas tarefas, quero criar um novo trabalho central e mover cada etapa de e-mail/relatório para esse trabalho. Eu configuraria cada etapa do trabalho para "Sair do trabalho relatando sucesso". Eu configuraria um agendamento exclusivo para cada etapa do trabalho para que os e-mails/relatórios continuem sendo gerados em seus agendamentos normais. Por exemplo, a etapa 1 seria executada diariamente às 7h. A etapa 2 seria executada aos sábados e domingos ao meio-dia. E assim por diante.
Quando fui criar um cronograma, não consegui encontrar uma maneira de especificar em qual etapa começar. Eu sei que msdb.dbo.sp_start_job
aceita um @step_name
parâmetro. Da mesma forma, o SQL Server Agent me permite escolher uma etapa para iniciar manualmente um trabalho por meio da interface do usuário. Existe uma maneira de especificar a etapa inicial de um agendamento ou estou limitado a iniciar com a etapa inicial configurada (padrão) conforme listado no trabalho?