Tsql 如何在Sql server中使用作业计划运行顺序作业

Tsql 如何在Sql server中使用作业计划运行顺序作业,tsql,stored-procedures,ssis,ssms-2014,Tsql,Stored Procedures,Ssis,Ssms 2014,我需要按顺序运行多个作业。假设我已经有20份工作了。这些工作相互依赖。现在我正在手动运行这些作业,如下所示 运行作业1-->作业1成功时运行作业2/作业1失败时退出下一个进程-->作业2成功时运行作业3/作业2失败时退出下一个进程-->。。。。作业19成功时运行作业20/作业19失败时退出下一个进程-->退出作业 除此之外,我还希望有这些所有作业的日志历史记录。如果任何作业中途失败,我想检查日志,找出哪个作业失败,以及失败的原因是什么 现在我想让它自动化。有没有可能的办法 请帮帮我 先谢谢你 C

我需要按顺序运行多个作业。假设我已经有20份工作了。这些工作相互依赖。现在我正在手动运行这些作业,如下所示

运行作业1-->作业1成功时运行作业2/作业1失败时退出下一个进程-->作业2成功时运行作业3/作业2失败时退出下一个进程-->。。。。作业19成功时运行作业20/作业19失败时退出下一个进程-->退出作业

除此之外,我还希望有这些所有作业的日志历史记录。如果任何作业中途失败,我想检查日志,找出哪个作业失败,以及失败的原因是什么

现在我想让它自动化。有没有可能的办法

请帮帮我

先谢谢你
Chandana

您可以使用维护计划

在此功能中,您可以逐步设置任何作业或设置
If
语句

在这张图片中,我向您展示了维护计划的不完整显示:

要创建或管理维护计划,您必须是 sysadmin固定服务器角色。对象资源管理器仅显示 属于系统管理员成员的用户的维护计划节点 服务器角色

您可以阅读

我想当您说“作业”时,您指的是SQL Server代理作业

实现您所追求的目标的一种方法是简单地使用存储过程

  • 在每个作业上添加一个tsql作业步骤
  • 确保这是最后一步
  • 然后让它执行下面的代码

    EXEC msdb.dbo.sp_start_job N‘要启动的下一个作业的名称’

  • 以下是该设置的视觉效果:


    然后,您可以雏菊式地更改作业,并让作业2的最后一步开始作业3,依此类推……

    一种方法就是使用sp\u start\u job。为每个作业添加一个步骤,确保它是最后一个步骤,并让它执行“exec msdb.dbo.sp_start_job N”@TimMylott的注释是“标准”“这是个好办法。蒂姆,如果你回答这个问题,我会投你一票。“有时候,即使是一个简短的回答也是正确的。”埃里克勃兰特回答补充道,谢谢你把它具体化。良好的视觉效果。在这种情况下,如果作业2失败,它将再次启动作业1或从作业2开始?下次运行时,它将退出并从步骤1开始。您还可以从SSMS手动运行它,并决定从哪个步骤开始。