引入SQL Server鎖的原因描述
今天向大家講述的是引入SQL Server鎖的原因,在實(shí)際操作中當(dāng)遇到多個(gè)用戶(hù)同時(shí)對(duì)SQL Server數(shù)據(jù)庫(kù)的并發(fā)操作時(shí),一般會(huì)帶來(lái)下面的數(shù)據(jù)不一致的問(wèn)題,同時(shí)也包括丟失更新,臟讀以及不可重復(fù)讀等相關(guān)內(nèi)容的描述。
丟失更新
A,B兩個(gè)用戶(hù)讀同一數(shù)據(jù)并進(jìn)行修改,其中一個(gè)用戶(hù)的修改結(jié)果破壞了另一個(gè)修改的結(jié)果,比如訂票系統(tǒng)
臟讀
A用戶(hù)修改了數(shù)據(jù),隨后B用戶(hù)又讀出該數(shù)據(jù),但A用戶(hù)因?yàn)槟承┰蛉∠藢?duì)數(shù)據(jù)的修改,數(shù)據(jù)恢復(fù)原值,此時(shí)B得到的數(shù)據(jù)就與數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)產(chǎn)生了不一致
不可重復(fù)讀
A用戶(hù)讀取數(shù)據(jù),隨后B用戶(hù)讀出該數(shù)據(jù)并修改,此時(shí)A用戶(hù)再讀取數(shù)據(jù)時(shí)發(fā)現(xiàn)前后兩次的值不一致
并發(fā)控制的主要方法是封鎖,SQL Server鎖就是在一段時(shí)間內(nèi)禁止用戶(hù)做某些操作以避免產(chǎn)生數(shù)據(jù)不一致
上述的相關(guān)內(nèi)容就是對(duì)引入SQL Server鎖的理由描述,希望會(huì)給你帶來(lái)一些幫助在此方面。
【編輯推薦】