如何自定义sql server代理作业
我需要能够在每月 10 日安排一项作业,并让它运行指定的天数或直到指定的日期。
有没有办法使用某种 API 或其他东西来自定义 sql server 代理作业?
谢谢。
I need to be able to schedule a job on the 10th of each month and have it run for a set number of days or until a specified date.
Is there any way to customize sql server agent jobs using some sort of API or something?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我仍然找不到任何自定义作业计划的方法,但我通过向作业步骤添加条件找到了解决方法:
并设置每天运行的时间表。
I still can't find any way of customizing the job schedule, but I have figured a way around it by adding the condition to the job step:
And setting the schedule to run every day.
您可以通过对作业使用多个计划来使用 SQL 作业计划属性。 您可以安排作业在该月的 10 天运行(可以选择结束日期)。 然后,您可以创建多个计划,一个用于 11 日、12 日等。
You can accomplish using the SQL Job Schedule properties by using more than one schedule for the job. You can schedule the job to run on the 10th day of the month (with the option for an end date). You can then create multiple schedules, one for the 11th, 12th, etc.
SQL Server 代理没有您需要的计划选项,因此我认为您的解决方法是将其保留在 SQL Server 中的最佳方法。
然而,Windows 任务计划程序确实可以选择在该月的“x”天运行作业,也许通过 Windows 任务计划程序使用 sqlcmd 启动存储过程是另一种解决方案?
希望这可以帮助
The SQL Server Agent does not have a schedule option like you need, so I think your workaround is as good as it gets for keeping it inside SQL Server.
The Windows Task Scheduler however does have an option to run a job on the 'x' day of the month, maybe kicking your sproc off using sqlcmd via Windows Task Scheduler is an alternate solution?
Hope this helps