sto*_*onk 6 sql sql-server ssis
我有一个非常简单的SSIS包,之后只是一个数据导入和一个执行SQL任务.如果包的任何部分失败,我想回滚一切,所以我将这些任务放在一个Sequence Container中,并将Sequence Container TransactionOption属性设置为'Required',并将FailPackageonFailure属性设置为'True'.当我瞄准本地数据库时,这很好用.但是,当我尝试将OLE DB连接更改为远程服务器时,上述属性设置会导致程序包挂起并最终失败并显示"无法获取连接"消息.我在网上看到过类似的问题描述,但建议始终检查Connection.但是我知道连接很好,因为当我将TransactionOption属性更改回其默认值"Supported"时,包运行正常.
有谁知道为什么会发生这种情况?我假设它与我正在尝试连接的服务器上的不同设置有关.如果包的任何部分失败,也有人知道确保完全回滚的不同方式.
谢谢阅读
您需要使用分布式事务协调器。
The Distributed Transaction Coordinator (DTC) service coordinates transactions that update two or more transaction-protected resources, such as databases, message queues, files systems, and so on. These transaction-protected resources may be on a single computer or distributed across many networked computers.
因为您正在尝试在服务器之间建立事务,所以需要一个服务来协调 SQL Server 服务。这是一篇关于如何做到这一点的文章。
确保启动并配置服务,并在 Windows 防火墙中为服务器之间的服务创建例外。
有关详细信息,请参阅这篇有关事务的文章:http://www.mssqltips.com/tip.asp?tip=1585
此外,您可能需要更多地了解 MSDTC 与 SSIS 的工作原理,才能解决您的问题。
| 归档时间: |
|
| 查看次数: |
6104 次 |
| 最近记录: |