Azure SQL不支持弹性事务

问题描述:

最近我们正在将我们的SQL Server数据库迁移到Azure SQL数据库,但它不支持事务,即使我们构建我们的Web应用程序以按照Microsoft文档中给出的指导目标.net framework 4.6.1 here。我们在同一个数据库中使用MSDTC事务而不是共享数据库,原因是什么?我在这里是否缺少配置设置?Azure SQL不支持弹性事务

实际上,我没有收到任何错误,但事务不起作用,也没有发生回滚,允许保存部分数据。

当我在Azure SQL DB检查事务时,它显示当时没有发生事务。与我的本地数据库相同的代码可以很好地工作,我可以看到当前的事务正在运行,事务在未提交时回滚。

以下是详细信息。

我已经在VisualStudio中将目标框架设置为4.6.2并且在我的web.config中更新了相同的内容。 示例代码:

using (var scope = new TransactionScope()) 
       { 
        using (var aoContext = new AOCrowdFundEntities()) 
        { 

         //do somthing 

         aoContext.SaveChanges(); 

         throw new Exception(); 
         scope.Complete(); 
        } 

       } 

当我有引发错误和运行下面的查询来查看当前交易之前断点,它显示一个空列表。

即使我在不​​提交事务的情况下抛出错误,数据也会保存在Azure数据库中。 :-(

Azure的SQL数据库目前不支持在此documentation page解释分布式事务。要使用Microsoft分布式事务协调器(MSDTC),在虚拟机上运行的SQL Server实例部署数据库。

+0

我同意Azure的SQL数据库不还支持MSDTC事务T-SQL,但他们支持Syste米以弹性交易的名义进行交易。看到这里https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-transactions-overview – Kavi

我错过了删除从中推出了支持MSDTC事务数据库连接字符串的设置(招募=假)。参见下面了解更多的细节,

what is Enlist=false means in connection string for sql server?