Como sou um DBA (e, em muitos casos, o administrador de sistemas de fato), o SQL Server é instalado em praticamente todos os servidores com os quais tenho que trabalhar regularmente. Percebi recentemente que tenho usado o SQL Agent como agendador de tarefas em praticamente todos os casos, em vez do agendador de tarefas nativo do Windows.
Na minha perspectiva, o SQL Agent possui várias vantagens sobre o Windows Task Scheduler nativo:
- Início / parada / monitoramento remoto de tarefas (da minha estação de trabalho)
- Agendas compartilhadas (em vez de cada tarefa por conta própria)
- Várias etapas e fluxo de controle
- Diferentes tipos de tarefas
- Alertas sobre falha / conclusão
- Pode ser configurado para atuar como usuários diferentes
- Mensagens de erro (moderadamente) descritivas, em vez de apenas um código de erro
No entanto, não posso deixar de pensar que isso é uma prática ruim - o SQL Agent deve ser reservado apenas para tarefas relacionadas ao banco de dados e devo deixar as tarefas no nível do SO em execução no Agendador de Tarefas do Windows, apesar de não gostar de sua usabilidade.
Tudo bem contar com o SQL Agent dessa maneira? Caso contrário, devo considerar um agendador de tarefas do Windows de terceiros para obter algumas das funcionalidades que estou procurando?