亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

SQL Server中死鎖的原因及解決辦法

添加時間:2014-4-10 17:53:50  添加: 思海網絡 

  SQL Server中死鎖的原因及解決辦法,其實所有的死鎖最深層的原因就是一個資源競爭:

  表現一:

  一個用戶A 訪問表A(鎖住了表A),然后又訪問表B,另一個用戶B 訪問表B(鎖住了表B),然后企圖訪問表A。這時用戶A由于用戶B已經鎖住表B,它必須等待用戶B釋放表B,才能繼續,好了他老人家就只好老老實實在這等了。

  同樣用戶B要等用戶A釋放表A才能繼續這就死鎖了。

  解決方法:

  這種死鎖是由于你的程序的BUG產生的,除了調整你的程序的邏輯別無他法。

  仔細分析你程序的邏輯:

  1:盡量避免同時鎖定兩個資源;

  2: 必須同時鎖定兩個資源時,要保證在任何時刻都應該按照相同的順序來鎖定資源。

  表現二:

   用戶A讀一條紀錄,然后修改該條紀錄,這是用戶B修改該條紀錄,這里用戶A的事務里鎖的性質由共享鎖企圖上升到獨占鎖(for update),而用戶B里的獨占鎖由于A有共享鎖存在所以必須等A釋放掉共享鎖,而A由于B的獨占鎖而無法上升的獨占鎖也就不可能釋放共享鎖,于是出現 了死鎖。

  這種死鎖比較隱蔽,但其實在稍大點的項目中經常發生。

  解決方法:

  讓用戶A的事務(即先讀后寫類型的操作),在select 時就是用Update lock

  語法如下:select * from table1 with(updlock) where ....

關鍵字:SQL Server、死鎖

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站