【问题标题】:Run SQL package with different parameters at different times of the day在一天中的不同时间运行不同参数的 SQL 包
【发布时间】:2013-10-23 15:51:10
【问题描述】:

我正在尝试在一天中的不同时间使用不同的参数通过计划作业从我们的 SQL Server 运行 SQL 包。该包导入在一天中的某个时间后可用的属性特定信息(我们公司有多个属性)。该包接受一个属性代码参数来标识要导入的属性信息。

如果可能,我想重复使用一个包/作业并设置在一天中的特定时间执行的多个步骤。

除了使用多个作业来运行具有自己的参数的同一个包之外,还有更好的设置方法吗?

非常感谢您的建议,谢谢。

【问题讨论】:

  • 我很困惑为什么这些是 JOB,为什么你不只是使用存储过程。如果是因为您希望它们按计划运行,那么谁提供不同的参数以及如何提供?引导我们完成一个使用/最佳案例 senerio。
  • 属性代码参数是“硬编码的”并且不会改变,包应该运行的时间也不会改变(每个属性/包)。但是,所有包都接受 SQL 服务器的当前日期/时间作为参数。根据您的建议:按计划运行存储过程与按计划运行包有何不同?
  • 您不清楚“参数”是什么。如果是日期,您可以使用 GETDATE() 作为参数,为您提供当前日期/时间。听起来这是您每次都必须提供的参数,所以我的问题是,如果您必须手动提供参数,为什么要按计划进行。我现在更清楚了。 Using a date as parameter
  • 感谢您的帮助。我使用 GETDATE() 作为参数之一。但是,我的问题是,使用自己的时间表设置 20 个作业是否是一种好习惯,而不是设置 20 个步骤的 1 个作业,其中每个步骤都有自己的预定运行时间。
  • 这是你的问题?我错过了,对不起。多个步骤允许您在步骤失败时停止执行,因此如果步骤 9 失败,您在步骤 10 中执行的操作将不会运行。如果您关心该要求,请使用具有多个步骤的单一作业。如果您不这样做,请使用多个作业。如果你需要控制每一步的时间,那么你必须使用多个作业。确实,答案取决于您需要完成的工作。

标签: sql sql-server ssms jobs schedule


【解决方案1】:

如果步骤失败,多个步骤允许您停止执行,因此如果步骤 9 失败,您在步骤 10 中执行的操作将不会运行。

如果您关心该要求,请使用包含多个步骤的单个作业。如果不这样做,请使用多个工作。

如果您需要控制每一步的时间,那么您必须使用多个作业。

真的,答案取决于你需要完成的事情。

【讨论】:

  • 顺便说一句,您可以执行一个步骤,将等待指定的时间,但我认为您不想这样做,根据您的要求。
  • 我最终构建了一个包调度表和一个观察者。谢谢!
猜你喜欢
  • 2021-06-26
  • 1970-01-01
  • 2020-09-09
  • 2016-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多