我对SQL代理作业非常陌生,但是我试图build立一个服务器的维护机制,这个服务器会以不知名的时间间隔closures和重新启动。 它可能没有被closures一个月运行,或者它可能只会被打开9-5 …我们不知道,客户不能告诉我们,因为他们不知道。
所以我想知道的是,我需要做些什么来让SQL Server在到期时运行每月和每天的工作,或者如果到期日是错过的,在下一次启动服务器时让它们运行。 我可以想出一些周期性的工作和“上电”的工作,但如果有更优雅的东西,那将是美好的。
显然,我需要确保SQL Server代理程序被configuration为在计算机启动时启动,但还有什么?
您的SQL Server代理程序计划事件的选项是:
如果你需要处理更多事件的东西,那么你总是可以使用Windows调度程序,并调用执行sp_start_job的 sqlcmd ,甚至可以直接执行BACKUP DATABASE命令。
安排作业正常,并有一个单一的工作设置运行时,服务器启动运行一个脚本来查询所有的工作,并确定任何错过,并告诉他们现在执行是一个选项 – 但显然这取决于如何服务器被使用和工作是否会影响用户。
如果这个盒子被打开,需要立即执行,你是否真的希望所有这些追赶工作立即被解雇? 你可以在下一段安静的时间(例如那天晚上)重新安排它们,但是从你所说的话来说,在窗口出现之前箱子可能会再次closures。