Since I'm a DBA (and in many cases, the de-facto sysadmin), SQL Server is installed on pretty much every server I have to work with regularly. I realized recently that I've been using the SQL Agent as the job scheduler in pretty much every case, rather than the native Windows Task Scheduler.
From my perspective, the SQL Agent has a number of advantages over the native Windows Task Scheduler:
- Remote (from my workstation) start/stop/monitoring of tasks
- Shared schedules (rather than each task on its own)
- Multiple steps and control flow
- Different types of tasks
- Alerts on failure/completion
- Can be configured to act as different users
- (Moderately) descriptive error messages, rather than just an error code
However, I can't escape the feeling that this is bad practice - the SQL Agent should be reserved for just database-related tasks, and I should leave OS level tasks running in the Windows Task Scheduler, despite my dislike of its usability.
Is it okay to rely on the SQL Agent in this way? If not, should I consider a third-party Windows task scheduler to get some of the functionality I'm looking for?