我有一个解决方案,其中将 SSIS
包部署在 Azure
上。该包正在使用管道
中的执行SSIS包
任务通过数据工厂(V2)
执行。
我在包内有一个序列容器
,我想在其中启用事务(容器内的所有子组件都会成功,否则将回滚)。
我将事务选项更改为必需
,但是在触发管道
后,我收到此错误(来自SSIS日志):
Error: 0xC001402C at MyPackage: The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x80070057 "The parameter is incorrect.".
Error: 0xC0202009 at MyPackage: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80070057. Error: 0xC020801C at MyDataFlow, Missing Codes [69]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER. The AcquireConnection method call to the connection manager "My Connection" failed with error code 0xC0202009. There may be error messages posted before this with more information on why the AcquireConnection method call failed.
Error: 0xC004701A at MyDataFlow, SSIS.Pipeline: Missing Codes failed the pre-execute phase and returned error code 0xC020801C.
SSIS
包或数据工厂 (V2)
端是否有我遗漏的配置?
(我的 Azure SQL 数据库
是标准部署,具有通用
服务层)
最佳答案
我看到你也有posted this in Microsoft Q&A @MartinJaffer-MSFT 回答了这个问题。复制此处以方便引用:
We took a look in our records and found where someone else got a similar error. They were trying to migrate integration processes from on-prem to the cloud.
SQL PaaS doesn’t support distributed transactions the same way as on-prem.
For leveraging Azure SQL PaaS (as per your current architecture), you would need to develop a custom C# OR .Net app that handles the workflow: https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-transactions-overview#installation-and-migration
For leveraging SQL Managed Instance, you would need to user SQL Trust Groups, which are in preview: https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-transactions-overview#transactions-across-multiple-servers-for-azure-sql-managed-instance Both SQL MI and SQL DB have distributed transactions limitations: https://learn.microsoft.com/en-us/azure/azure-sql/database/elastic-transactions-overview#limitations
关于azure - Azure 数据工厂和 SSIS 中的事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66209385/