由于我是DBA(在许多情况下,事实上是sysadmin),因此SQL Server几乎安装在我必须定期使用的每台服务器上。最近我意识到,在几乎每种情况下,我都一直在使用SQL Agent作为作业调度程序,而不是使用本机Windows Task Scheduler。
在我看来,与本地Windows Task Scheduler相比,SQL Agent具有许多优点:
- (从我的工作站)远程启动/停止/监视任务
- 共享时间表(而不是每个任务自己执行)
- 多个步骤和控制流程
- 不同类型的任务
- 失败/完成警报
- 可以配置为充当不同的用户
- (适度)描述性错误消息,而不仅仅是错误代码
但是,我无法避免这种做法不好的感觉-尽管我不喜欢SQL代理的可用性,但应该仅将SQL Agent保留给与数据库相关的任务,并且应该让Windows任务计划程序中运行OS级别的任务。
以这种方式依赖SQL Agent可以吗?如果没有,我是否应该考虑使用第三方Windows任务计划程序来获得我正在寻找的某些功能?