Azure 数据工厂和 SSIS 中的事务
Transactions in Azure Data Factory & SSIS
我有一个解决方案,其中 SSIS
包部署在 Azure
上。该包正在通过 Data Factory (V2)
使用 Execute SSIS Package
任务在 pipeline
.
中执行
我在包中有一个 sequence container
,我想在其中启用事务(容器内的所有子组件都成功,否则回滚)。
我将事务选项更改为 Required
,但是在触发 pipeline
之后我得到了这个错误(来自 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
包或 Data Factory (V2)
方面是否有我遗漏的配置?
(我的 Azure SQL Database
是标准部署,具有 General Purpose
服务层级)
我看到你也在微软问答中发布了这个,由@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://docs.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://docs.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://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-transactions-overview#limitations
我有一个解决方案,其中 SSIS
包部署在 Azure
上。该包正在通过 Data Factory (V2)
使用 Execute SSIS Package
任务在 pipeline
.
我在包中有一个 sequence container
,我想在其中启用事务(容器内的所有子组件都成功,否则回滚)。
我将事务选项更改为 Required
,但是在触发 pipeline
之后我得到了这个错误(来自 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
包或 Data Factory (V2)
方面是否有我遗漏的配置?
(我的 Azure SQL Database
是标准部署,具有 General Purpose
服务层级)
我看到你也在微软问答中发布了这个,由@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://docs.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://docs.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://docs.microsoft.com/en-us/azure/azure-sql/database/elastic-transactions-overview#limitations