sql - 调度多个相互依赖的 SQL Server 代理作业的做法是什么?

标签 sql sql-server ssis scheduled-tasks

我的团队目前安排作业的方式是通过 SQL Server 作业代理。其中许多作业都依赖于其他内部服务器,而这些服务器又具有自己的 SQL Server 作业,需要运行这些作业以保持数据最新。

这在每个 SQL Server 作业的开始时间和长度上创建了依赖关系。作业 A 可能依赖于作业 B 的完成,因此我们将作业 B 提前安排在作业 A 之前的某个估计时间。所有这些过程非常主观并且不可扩展,因为我们添加了更多作业和服务器,从而创建了更多依赖项。

我很乐意摆脱主观安排这些工作并希望多米诺骨牌按正确顺序倒下的情况。我想知道安排 SQL Server 作业的公认做法是什么。人们是否使用 SSIS 将作业链接在一起? SQL Server 作业代理中是否已内置工具来处理此问题?

处理相互依赖的多个 SQL Server 作业的调度的公认方法是什么?

最佳答案

我之前曾使用 Control-M 在不同的环境中安排多个相互依赖的作业。 Control-M 通常通过使用批处理文件(据我记得)来执行 SSIS 包。

我们有一个复杂的环境,并排托管 2 个数据仓库(1 个国际数据仓库和 1 个美国本地数据仓库)。有些作业依赖于其他作业,而这些作业又依赖于其他作业,等等,但是通过使用 Control-M,我们可以轻松决定依赖关系(它有一个非常漂亮且直观的 GUI)。我想到的另一个工具是潮汐调度程序。

作业调度没有固定的标准,但我认为可以肯定地说,作业调度完全取决于组织的需求。例如,财务工作可能依赖于销售和库存销售等。但关键是,如果您需要工作相互依赖,那么使用 Control-M 等第三方软件是一个安全的选择。它可以控制不同环境下的工作,让您真正感受到公司范围内的工作控制。

关于sql - 调度多个相互依赖的 SQL Server 代理作业的做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12519165/

相关文章:

mysql - 获取与当前日期最接近的日期sql

sql-server - 使用 XML 输入的 SQL SELECT

c# - 使用 C# 执行 SSIS 包时出错

c# - SSIS-PostAsJsonAsync 不起作用

sql - 如何在 Excel 中捕获文本的 URL,以便将其转储到 SQL 中(使用 SSIS)?

sql - 在 SQL 中计算百分比

php - 检查前一个 MySQL 查询的状态并执行下一个查询

c# - 循环访问 SSIS 中的表时刷新元数据

sql-server - SQL 服务器 : multiple counts with joins

ruby-on-rails - 对多个数据库执行原始 sql