国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > SQL Server > 正文

如何掌握SQL Server的鎖機制和鎖模式

2024-08-31 00:46:50
字體:
來源:轉載
供稿:網友
  各種大型數據庫所采用的鎖的基本理論是一致的,但在具體實現上各有差別。SQL Server更強調由系統來管理鎖。在用戶有SQL請求時,系統分析請求,自動在滿足鎖定條件和系統性能之間為數據庫加上適當的鎖,同時系統在運行期間常常自動進行優化處理,實行動態加鎖。對于一般的用戶而言,通過系統的自動鎖定管理機制基本可以滿足使用要求,但如果對數據安全、數據庫完整性和一致性有特殊要求,就需要了解SQL Server的鎖機制,掌握數據庫鎖定方法。
  鎖是數據庫中的一個非常重要的概念,它主要用于多用戶環境下保證數據庫完整性和一致性。 我們知道,多個用戶能夠同時操縱同一個數據庫中的數據,會發生數據不一致現象。即如果沒有鎖定且多個用戶同時訪問一個數據庫,則當他們的事務同時使用相同的數據時可能會發生問題。這些問題包括:丟失更新、臟讀、不可重復讀和幻覺讀:
  1.當兩個或多個事務選擇同一行,然后基于最初選定的值更新該行時,會發生丟失更新問題。每個事務都不知道其它事務的存在。最后的更新將重寫由其它事務所做的更新,這將導致數據丟失。例如,兩個編輯人員制作了同一文檔的電子復本。每個編輯人員獨立地更改其復本,然后保存更改后的復本,這樣就覆蓋了原始文檔。最后保存其更改復本的編輯人員覆蓋了第一個編輯人員所做的更改。如果在第一個編輯人員完成之后第二個編輯人員才能進行更改,則可以避免該問題。
  2. 臟讀就是指當一個事務正在訪問數據,并且對數據進行了修改,而這種修改還沒有提交到數據庫中,這時,另外一個事務也訪問這個數據,然后使用了這個數據。因為這個數據是還沒有提交的數據,那么另外一個事務讀到的這個數據是臟數據,依據臟數據所做的操作可能是不正確的。例如,一個編輯人員正在更改電子文檔。在更改過程中,另一個編輯人員復制了該文檔(該復本包含到目前為止所做的全部更改)并將其分發給預期的用戶。此后,第一個編輯人員認為目前所做的更改是錯誤的,于是刪除了所做的編輯并保存了文檔。分發給用戶的文檔包含不再存在的編輯內容,并且這些編輯內容應認為從未存在過。如果在第一個編輯人員確定最終更改前任何人都不能讀取更改的文檔,則可以避免該問題。

共5頁上一頁12345下一頁
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沂水县| 耿马| 探索| 通榆县| 清水县| 丰原市| 潮州市| 石首市| 天台县| 汉阴县| 乳源| 嘉荫县| 安远县| 宝丰县| 京山县| 通州市| 井研县| 灵石县| 民丰县| 封丘县| 化德县| 新津县| 绥德县| 临安市| 文昌市| 陆良县| 临夏市| 集贤县| 普宁市| 华容县| 江陵县| 高淳县| 陈巴尔虎旗| 微山县| 襄城县| 黔东| 偏关县| 武强县| 巴东县| 房产| 临泉县|