我正在尝试将序列容器中的数据流任务从SourceDb(存在于我的本地机器上)设置为TargetDb(存在于azure &可以从SSMS访问)。每当我根据需要运行带有事务的包时,我都会得到以下错误。
DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.错误: SSIS错误代码AcquireConnection方法调用连接管理器"TargetDb“失败,错误代码为0xC0202009。在此之前可能会发布错误消息,并提供有关AcquireConnection方法调用失败的更多信息。。
如果我删除该容器的事务,它就能工作。我已正确设置了所有分布式事务设置。我在堆栈溢出上经历了许多链接,但没有对我有效。请提出解决办法。
我还通过在本地机器上恢复两个db来尝试这个过程。它成功地处理了事务。这个包裹没什么问题。
发布于 2017-08-09 16:23:11
为了在ssis中使用事务,需要打开分布式事务协调器。另一种方法是在执行sql任务和在连接属性中使用begin,在控制流中设置retainsameconnection = True,之后需要在事务中的所有dft任务,最后一个任务将是另一个带有commit事务的执行sql任务。按照下面的链接在分布式事务上使用没有开关的事务- https://www.mssqltips.com/sqlservertip/3072/sql-server-integration-services-ssis-transactions-without-msdtc/
发布于 2017-08-09 16:33:30
Azure不能参与与本地SQL服务器AFAIK的事务。
限制当前适用于SQL中弹性数据库事务的限制如下:
有关分布式事务和Azure的完整讨论,请参见这是微软的文档。。
https://stackoverflow.com/questions/45594318
复制相似问题