【问题标题】:Automate execution of multiple SQL Server 2012 scripts in specific order按特定顺序自动执行多个 SQL Server 2012 脚本
【发布时间】:2015-07-27 18:29:18
【问题描述】:

我需要一些指导来完成我从未使用过 SQL Server 2012 的任务。非常感谢您的帮助。我在 SQL Server 中继承了一个数据模型。

基本上,我有 5 个 SQL 脚本:

  1. 脚本 A
    1. 脚本 B
    2. 脚本 C
    3. 脚本 D
    4. 脚本 E

为了成功运行脚本B,它需要访问脚本A生成的表来执行计算。基本上,脚本是互相喂食的。我需要按特定顺序运行脚本。

我的第一个想法是“存储过程”。到目前为止,我过去只编写了一个存储过程来执行来自同一脚本的代码,而无需执行其他脚本。

我的问题是,对于按特定顺序自动执行上述 5 个脚本,您提出了哪些建议?我怎样才能做到这一点?你会建议我在做这件事时怎么想?

运行完整的脚本列表大约需要 10 个小时。

【问题讨论】:

  • 如果您将每个脚本放在不同的执行 SQL 步骤中,SQL 代理可以做到这一点。默认情况下,仅当上一步成功完成时才会执行下一步。或者你可以创建一个 SSIS 包,它可以让你完全控制流。最终,这取决于您的脚本在做什么。 10 小时让我觉得你要么在处理数百 GB 的数据,要么在做一些低效的事情,比如在可能使用单个语句的地方使用游标。
  • 感谢您的回复。之所以需要这么多小时,是因为有 200 万客户,对于每一个客户,我们都需要进行大量的数学计算来做出某些假设。我们使用所有历史记录来得出结论和盈利。关于 SSIS 包,您有什么具体的建议可以推荐我搜索吗?要寻找一些特定的关键字?谢谢

标签: sql-server sql-server-2012 sql-agent


【解决方案1】:

您可以像这样轻松地创建一个新的 SQL Server 代理作业任务:

  1. 展开 SQL Server 代理节点并右键单击中的作业节点 SQL Server 代理并选择“新作业”

  2. 在“新建作业”窗口中输入作业名称和描述 在“常规”选项卡上。

  3. 选择窗口左侧的“步骤”,然后单击“新建” 在底部。

  4. 在“步骤”窗口中输入步骤名称并选择您要使用的数据库 希望查询运行。

  5. 将要运行的 T-SQL 命令粘贴到命令窗口中 然后点击“确定”。

  6. 单击“新建作业”窗口左侧的“计划”菜单,然后 输入日程信息(例如每天和时间)。

  7. 点击“确定” - 应该就是这样。

按照您希望它们运行的​​顺序对每个脚本重复这些步骤。而且,你去吧!

【讨论】:

    猜你喜欢
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 2019-02-11
    • 2018-07-07
    相关资源
    最近更新 更多