相关疑难解决方法(0)

SSIS数据流任务依赖于超前阶段的执行

我有一个暂停执行的数据流任务.
流程很简单,对不同的表进行两次查询(两者都有几个连接),然后通过公共id对输出进行排序和合并,为所有记录添加静态列,将行计数保存在用户变量中以供日后使用使用并最终插入到另一个DB上的表中.我们正在使用OLE DB源和目标.源是MSSQL 2000,目标是MSSQL 2012

症状:

  • 在执行时,数据流获得通常的黄色"运行"图标.但是,当您双击以查看数据流时,非元素具有任何黄色,红色或绿色标记.
  • 这种情况持续很长一段时间,最初持续了大约20分钟,之后开始变长或根本没有返回.
  • 输出显示:
    信息:Load Sandbox Table中的0x40043006,SSIS.Pipeline:准备执行阶段正在开始.
    信息:Load Sandbox表中的0x40043007,SSIS.Pipeline:预执行阶段正在开始.

    除了停止执行之外别无其他.
  • 是的,这已经奏效了.是的,我们使用单个查询(在存储过程中)来执行此ETL,但我们希望将所有步骤迁移到SSIS.
  • 解决方案失败:

  • 没有查找.
  • 任务流的默认缓冲区大小增加到40485760,然后增加到80971520.
  • 任务的默认缓冲区最大行数设置为1000000.
  • 对于该任务,延迟验证设置为True.
  • 任务中的所有元素都将Validate External Data设置为False.
  • 两个查询都有:
    SET FMTONLY OFF;
    设置NOCOUNT ON;

    在开始时加入.
  • 两个查询都将MAXDOP设置为1.
  • 将项目的运行64位运行时设置为False.
  • 将目标负载从表或视图更改为表或视图 - 快速加载,没有锁或约束.
  • 将每批次的行设置为1000以便快速加载.
  • 一些解决方案建议将任务流分成两个或更多任务流.但这是不可能的,因为我们需要做的是合并两个源查询中的信息.
  • 额外的一点: 我真的希望有人可以帮助我.我是SSIS的新手,这是我第一次使用它.我通常与Pentaho合作开发我的ETL,但客户需要在SSIS上实施解决方案.我已经和这个问题争斗了好几天了,而且我已经开始没有想法来解决这个问题了.


    当通过命令行运行时,它也会卡住,我得到以下输出:

    Progress: 2013-03-19 14:36:26.21
       Source: Load Sandbox Table
       Validating: 0% complete
    End Progress
    Progress: 2013-03-19 14:36:26.21
       Source: Load Sandbox Table
       Validating: 12% complete
    End Progress
    Progress: 2013-03-19 14:36:26.22
       Source: Load Sandbox Table
       Validating: 25% …
    Run Code Online (Sandbox Code Playgroud)

    sql-server ssis etl

    27
    推荐指数
    3
    解决办法
    5万
    查看次数

    如何在ssis中进行事务回滚?

    我有数据导入到生产服务器.在我的包中,在数据加载之前清理原始表.如果任何案件包失败.如何在SSIS中回滚原始表数据?

    ssis

    16
    推荐指数
    1
    解决办法
    4万
    查看次数

    SSIS事务管理MSSQL

    如果复制失败,我需要将数据从DB"source"复制到db"destination",我需要回滚"destination".这两个连接在连接管理器中定义为OLE DB.

    这是我目前无法正常工作的尝试.我尝试使用内置的事务管理(将任务事务设置为必需),但这只是无法连接到"目标".

    目的地已将"RetainSameConnection"设置为true,而对于"source",这是没有特殊原因的.

    我还设置了"MaxConcurrentExecutables"= 1来阻止SSIS执行我的回滚作为第一件事.

    序列中的每个任务都设置为"隔离级别"= ReadUncommitted和"transactionOption"=支持.

    "失败的脚本"是一个总是失败的脚本,以便我测试事务是否正常.

    在此输入图像描述

    任务"begin tran"的代码是"BEGIN TRANSACTION",连接设置为"destination"

    任务"rollback tran"的代码是"rollback transaction",连接设置为"destination"

    回滚失败,"回滚事务请求没有相应的'BEGIN TRANSACTION'"

    sql-server ssis transactions

    5
    推荐指数
    1
    解决办法
    7445
    查看次数

    标签 统计

    ssis ×3

    sql-server ×2

    etl ×1

    transactions ×1