【问题标题】:query timeout error in “Data Flow Task”- Source part of SSIS“数据流任务”中的查询超时错误 - SSIS 的源部分
【发布时间】:2011-12-20 10:55:38
【问题描述】:

每当 teradata 源连接缓慢时,我在“数据流任务”- SSIS 的源部分中收到查询超时错误。查询是“select * from”,表只包含 100-200 行。我尝试将 Commandtimout 设置为“0”,但即使这样,查询也会在 30 秒后超时。

任何人都可以帮助增加 SSIS 中的超时值或减少 teradata 中的查询运行时间吗?

【问题讨论】:

  • 如果 Teradata 中的源表仅包含 200 行,您是否遇到了基于工作负载管理规则的阻塞会话或延迟会话? Teradata DBA 告诉您什么?即使在繁忙的系统上,从 Teradata 基表中选择 200 行的简单 SELECT 也应该在 30 秒内返回。您确定要查询的是表而不是视图吗?
  • 感谢您的回复..通过更改 ssis 属性解决了问题..
  • @PawanKumarJha,请发布答案(不是评论),其中包含解决问题所需的确切步骤。社区可能会从您的解决方案中受益。
  • “命令超时”属性不能解决问题。要设置此属性,我们必须覆盖 SSIS(SQL Server Management Studio) 级别中的默认超时属性。工具-选项-数据库工具-查询和视图设计器(-n 秒后取消长时间运行的查询)表和数据库设计器->表和图表选项(-n 秒后事务超时)将此“n”设置为更多以覆盖默认超时值。

标签: ssis teradata


【解决方案1】:

您可以像这样增加特定数据流任务的查询超时:

  1. 在控制流视图中,选择数据流任务
  2. 切换到数据流视图
  3. 选择要更改超时的数据源或目标
  4. 获取属性(按 F4)

您可以从“属性”页面设置 CommandTimeout。

https://forums.teradata.com/forum/connectivity/sql-server-integration-services-ssis-and-timeout-errors

鉴于您的特定情况,更改超时可能不合适。

【讨论】:

    【解决方案2】:

    这可能是查询引擎本身解释查询的方式。不要使用“SELECT *”,而是指定您将要使用的列;即“SELECT first_name, last_name ...”。

    1. 打开数据流,然后双击您的源。
    2. 在数据访问模式下,选择 SQL 命令。
    3. 用您需要的所有列写出您的查询。
    4. 保存。

    您可能需要更正流程中的列定义,但如果元数据匹配,您应该能够查看并保存。

    即使在使用我想要所有列返回的视图时,我也必须这样做才能解决超时问题。

    【讨论】:

    • 我刚刚意识到原来的问题是 4 岁。我会把答案留在这里,以防它帮助其他人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    相关资源
    最近更新 更多