sql-server - SSIS 在包执行的预执行阶段的结构行为是什么?为什么重包会在预执行阶段挂起?

标签 sql-server ssis etl data-warehouse business-intelligence

糟糕的生产数据库架构指示我执行多个左连接、on 子句中带有范围条件的左连接以及字符列连接。

尽管我的包没有错误,但它仍处于预执行阶段。

我在网上阅读了很多文章,其中介绍了如何防止这种情况。例如延迟验证外部元数据、...等

请帮我了解一下Pre-execute阶段数据流、控制流和sql server引擎的工作是什么?

最佳答案

enable logging 总是一个好主意在你的 SSIS 包中。如果没有日志记录,就很难准确确定 SSIS 做了什么,特别是当您的包由任务调度程序连夜执行时!

启用;右键单击 control flow ,然后从菜单中选择日志记录...。一个dialog will open 。您可以使用此屏幕配置记录数据的位置(Windows 事件日志、SQL Server、文本文件等)以及记录的内容。

我建议您记录所有内容。输出可能非常冗长。恐怕阅读 SSIS 日志是一项后天习得的技能。有很多您需要的细节,但这可能会让您很难找到您感兴趣的确切行。这里没有捷径,您需要卷起袖子并陷入困境。

包含大量连接的包可能需要一段时间才能完成预执行。我注意到与文件系统有大量连接的包特别慢。

编辑 我刚刚注意到我实际上并没有回答OPs的问题。所以这里...

虽然 SSIS 似乎被卡住/挂起,但它可能并非如此。记录所有内容并检查以修复。您可以查看运行中的日志,这很有帮助。

关于sql-server - SSIS 在包执行的预执行阶段的结构行为是什么?为什么重包会在预执行阶段挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43350011/

相关文章:

sql - SQL中整数的长度(即十进制字符串的长度)

sql - 根据一列的值更新另一列的值

c# - VS2013 没有获取 SQL2012 SSIS 自定义组件

c# - 在表中插入数据之前是否可以获取 Id (IDENTITY) 的新值?

javascript - TypeError : sql. 连接不是函数 Node.js

ssis - 在SSIS中分组

sql-server - SSIS 平面文件逆透视

c# - Redshift中的语法错误日志表

spring - ETL、Esper 还是 Drools?

testing - 测试应用程序仪表板数据的最佳实践