最近我們正在將我們的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數據庫不還支持MSDTC事務T-SQL,但他們支持Syste米以彈性交易的名義進行交易。看到這裏https://docs.microsoft.com/en-us/azure/sql-database/sql-database-elastic-transactions-overview – Kavi