【问题标题】:SSIS: Working package fails after upgrade to SQL Server 2012SSIS:升级到 SQL Server 2012 后工作包失败
【发布时间】:2013-03-16 20:03:25
【问题描述】:

我有一个在 SQL2008R2 上运行良好的 SSIS 包,它使用指向连接字符串配置文件的环境变量。使用 VS2010 Shell,我升级了 SQL Server 2012 数据库的软件包。该包仍处于包部署模型中。包的 ProtectionLevel 设置为DontSaveSensitiveRun64BitRuntime = False。当我尝试在 VS 中执行包时,出现以下错误:

[OLE DB 目标 [2]] 错误:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“DB_Connection”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。**

[SSIS.Pipeline] 错误:OLE DB 目标未通过预执行阶段并返回错误代码 0xC020801C。**

完全登录后,我在这里看到了第一个失败:

诊断,[计算机名],办公室\用户名,DB_Connection,{5AD75239-D546-4AAF-963E-E195FC2F0C1E},{9EC48106-DDBD-40E9-8FBB-942BCF025EEE},2013 年 3 月 26 日上午 10:35:21 2013 年 3 月 26 日上午 10:35:21,0,(空),ExternalRequest_post:'ITransactionJoin::JoinTransaction 失败'。外部请求已完成。**

真正让我震惊的部分是,在包的早期,相同的“DB_Connection”管理器成功地用于许多执行 SQL 任务。因此,似乎从配置中正确读取了连接字符串。

我已尝试删除\重新创建连接管理器。我已验证 DTC 在我的本地和服务器上均已正确配置。我有其他包使用相同的配置方法使用数据流任务连接到同一个 SQL2012 数据库,没有问题。

任何人都可以为我指明正确的方向提供任何帮助,我们将不胜感激。如果没有必要,我宁愿此时不必迁移到项目部署模型。

【问题讨论】:

    标签: sql ssis sql-server-2012


    【解决方案1】:

    我能够让我的包在本地运行。虽然我检查了我的任务上的 TransactionOption 以确保它们被设置为 Supported,但事实证明我的序列容器之一被设置为 Required强>。不知道为什么这在 SQL2008R2 中有效,但在 SQL2012 中无效。我将容器更改为 支持 并且包现在运行。

    【讨论】:

    • 谢谢!实际上,您确实必须分别查看任务
    猜你喜欢
    • 1970-01-01
    • 2017-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-11
    相关资源
    最近更新 更多