Transaction And Lock--事务中使用return会回滚事务吗?
生活随笔
收集整理的這篇文章主要介紹了
Transaction And Lock--事务中使用return会回滚事务吗?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
事務中使用return會回滾事務嗎?
答案:不會,如果在事務中沒有顯示提交或回滾事務邊return,事務不會被提交或回滾,在C#中,如果沒有使用連接池,則事務在連接斷開和銷毀時被強制回滾,如果使用連接池,則事務在連接被再次使用時調用的exec sp_reset_connection存儲過程清理掉。如果該連接沒有被再次使用或刪除,則事務一直存在,便會一直鎖住相關資源不釋放,照常日志變大,鏡像和復制異常等情況。
測試code:
--創建測試表
CREATE TABLE TB5
(
ID INT
)
測試C# CODE
SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder();sb.DataSource = "192.168.1.101";sb.InitialCatalog = "db1";sb.Password = "Auto@sql";sb.UserID = "sa";sb.IntegratedSecurity = false;sb.ConnectTimeout = 60;sb.Pooling = true;int i = 1000;while (i > 0){using (SqlConnection conn = new SqlConnection(sb.ConnectionString)){conn.Open();SqlCommand comm = conn.CreateCommand();comm.CommandText = @"BEGIN TRAN TR1 INSERT INTO TB5(ID) SELECT 1 RETURN ";comm.CommandType = System.Data.CommandType.Text;comm.ExecuteNonQuery();conn.Close();}i--;Console.WriteLine(i);}System.Threading.Thread.Sleep(60 * 1000);?
轉載于:https://www.cnblogs.com/TeyGao/p/3522965.html
總結
以上是生活随笔為你收集整理的Transaction And Lock--事务中使用return会回滚事务吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL Server技术问题之视图优缺点
- 下一篇: 约瑟夫问题(丢手帕问题)