我們一直在使用一種機制(稱爲SqlDeadlockHelper
的類)已經有一段時間了,並且在由於死鎖而嘗試失敗的數據庫調用時幫助了我們很多。 SqlDeadlockHelper
將捕獲SqlException
,認識到它是一個僵局,然後再試一次。第二次嘗試幾乎總是成功。重試命令/連接超時安全嗎?
對命令和/或連接超時執行類似操作是否安全?我的意思是,在SQL Server上完成工作是不可能的,只能在數據回到調用者之前超時,是嗎?
編輯:
交易已提到的方式來對待來電作爲一個工作單元。這樣它可以成功或完全回滾。但是單個ADO.NET調用只能做一件事。是否有必要在交易中包裝?
我不明白爲什麼不...... –