我有一个非常简单的 SSIS 包,只是一个数据导入和一个执行 SQL 任务。如果包的任何部分失败,我想回滚所有内容,因此我将这些任务放在序列容器中,并将序列容器 TransactionOption 属性设置为“必需”,并将 FailPackageonFailure 属性设置为“真”。当我以本地数据库为目标时,这工作得很好。但是,当我尝试将 OLE DB 连接更改为远程服务器时,上述属性设置会导致程序包挂起并最终失败并显示“无法获取连接”消息。我在网上看到过关于这个问题的类似描述,但建议总是检查连接。但是我知道连接很好,因为当我将 TransactionOption 属性更改回其默认值'
有谁知道为什么会发生这种情况?我假设它与我尝试连接的服务器上的不同设置有关。如果包的任何部分失败,是否有人知道确保完全回滚的不同方法。
谢谢阅读