【发布时间】:2015-07-27 18:29:18
【问题描述】:
我需要一些指导来完成我从未使用过 SQL Server 2012 的任务。非常感谢您的帮助。我在 SQL Server 中继承了一个数据模型。
基本上,我有 5 个 SQL 脚本:
- 脚本 A
- 脚本 B
- 脚本 C
- 脚本 D
- 脚本 E
为了成功运行脚本B,它需要访问脚本A生成的表来执行计算。基本上,脚本是互相喂食的。我需要按特定顺序运行脚本。
我的第一个想法是“存储过程”。到目前为止,我过去只编写了一个存储过程来执行来自同一脚本的代码,而无需执行其他脚本。
我的问题是,对于按特定顺序自动执行上述 5 个脚本,您提出了哪些建议?我怎样才能做到这一点?你会建议我在做这件事时怎么想?
运行完整的脚本列表大约需要 10 个小时。
【问题讨论】:
-
如果您将每个脚本放在不同的执行 SQL 步骤中,SQL 代理可以做到这一点。默认情况下,仅当上一步成功完成时才会执行下一步。或者你可以创建一个 SSIS 包,它可以让你完全控制流。最终,这取决于您的脚本在做什么。 10 小时让我觉得你要么在处理数百 GB 的数据,要么在做一些低效的事情,比如在可能使用单个语句的地方使用游标。
-
感谢您的回复。之所以需要这么多小时,是因为有 200 万客户,对于每一个客户,我们都需要进行大量的数学计算来做出某些假设。我们使用所有历史记录来得出结论和盈利。关于 SSIS 包,您有什么具体的建议可以推荐我搜索吗?要寻找一些特定的关键字?谢谢
标签: sql-server sql-server-2012 sql-agent