Dato che sono un DBA (e in molti casi, l'amministratore di fatto), SQL Server è installato praticamente su tutti i server con cui devo lavorare regolarmente. Di recente mi sono reso conto che sto usando SQL Agent come pianificatore di lavori in quasi tutti i casi, piuttosto che l'utilità di pianificazione di Windows nativa.
Dal mio punto di vista, l'agente SQL presenta numerosi vantaggi rispetto all'utilità di pianificazione di Windows nativa:
- Avvio / arresto / monitoraggio remoto delle attività
- Pianificazioni condivise (piuttosto che ciascuna attività da sola)
- Passaggi multipli e flusso di controllo
- Diversi tipi di attività
- Avvisi in caso di errore / completamento
- Può essere configurato per agire come utenti diversi
- Messaggi di errore (moderatamente) descrittivi, anziché solo un codice di errore
Tuttavia, non posso sfuggire alla sensazione che questa sia una cattiva pratica: l'agente SQL dovrebbe essere riservato solo alle attività relative al database e dovrei lasciare attività a livello di sistema operativo nell'Utilità di pianificazione di Windows, nonostante non mi piaccia la sua usabilità.
Va bene fare affidamento su SQL Agent in questo modo? In caso contrario, dovrei prendere in considerazione un programmatore di attività di Windows di terze parti per ottenere alcune delle funzionalità che sto cercando?