【发布时间】:2019-04-08 18:57:23
【问题描述】:
我已经有一个名为 Job1 的作业和一个名为 Daily 的作业步骤。 我想重命名作业计划每日名称和该计划中的一个参数,还想再创建一个名为 Daily1 的计划。 目前我所拥有的只是检查现有的工作时间表。
IF NOT EXISTS(SELECT * FROM [msdb].[dbo].[sysjobs] jb WITH(NOLOCK)
INNER JOIN [msdb].[dbo].[sysjobschedules] js WITH(NOLOCK) ON js.job_id = jb.job_id
INNER JOIN [msdb].[dbo].[sysschedules] sc WITH(NOLOCK) ON sc.schedule_id = js.schedule_id
WHERE jb.Name = 'Job1 ' and sc.name = N'Daily' )
BEGIN
--your code here
END
如何实现对现有工作计划的更新并在同一工作中添加新计划
【问题讨论】:
-
我强烈建议不要在这里使用
NOLOCK。如果您在自己的表上执行此操作,则为bad enough habit,但如果您在系统表上执行此操作并打算稍后修改内容,则情况会更糟。您希望在此处获得一致的数据视图,而不仅仅是避免潜在地阻塞其他查询一毫秒。
标签: sql sql-server