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

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

SQL Server的事務操作隔離模式介紹

2024-08-31 01:02:19
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了SQL Server的事務操作隔離模式介紹,本文講解了在何種情況下使用隔離模式,有哪些隔離模式,如何控制隔離模式等問題,需要的朋友可以參考下
 
 

一般而言,最好讓SQL Server以默認形式在隔離事務操作;畢竟,隔離是ACID模型的基本原則之一。但是,有時候因為業務需求的原因,數據庫管理員不得不違背默認行為,而 是采取更靈活一點的方法來進行事務操作隔離。針對數據庫管理員遇到的這類情況,SQL Serve提供了五種不同的事務操作隔離模式。在詳細介紹這些事務操作隔離模式之前,必需先了管理員會遇到的數據庫問題:

  1.臟數據讀寫,這種情況發生在當一個事務讀寫由另一個事務修改而未提交的數據的時候。如果另一個事物永遠都不提交其修改數據,那么第一個事務就永遠都得到一個無效的值,即臟數據。

  2.不可重復讀寫,這種情況發生在當一個事務在試圖重復讀取同一數據,而另一個事務在這第一個事務重復讀取之前修改了此數據的時候。這樣會使第一個事務在讀取同一數據時獲得兩個不同的值,導致原始數據讀取變成不可重復。

  3.影象讀寫,這種情況發生在當一個事務在某一個表格中進行多次數據查詢,而另一個事務插入或者刪除滿足查詢條件的數據行。這會造成前一個事務獲得或失去一個“影象”值。

  SQL Server的每一種隔離模式都試圖解決以上問題中的部分,使數據庫管理員能夠保持事務操作隔離和業務需求之間的平衡。以下是SQL Server的五種隔離模式:

  1.讀寫提交隔離模式,這是SQL Server默認的隔離模式,數據庫不允許事務操作讀寫由未提交的事務操作寫的數據。這個模式可以防止產生臟數據讀寫,但是不能防止影象讀寫或不可重復讀寫的情況。

  2.讀寫未提交隔離模式,這種模式基本在事務操作之間沒有進行隔離。任何事務都可以讀寫由另一個未提交的事務寫的數據。這種模式下,事務操作很容易出現臟數據讀寫、影象讀寫和不可重復讀寫的情況。

  3.可重復讀寫隔離模式,比讀寫提交隔離模式更進一步,能夠阻止事務修改正被另一個事務讀寫的數據,直到讀寫操作結束。這個隔離模式可以防止臟數據讀寫和不可重復讀寫的情況發生。

  4.串行化隔離模式,這個模式運用范圍鎖防止一個事務在另一個事務對數據進行讀取時插入或者刪除數據行。串行化隔離模式能夠防止上述三種情況的發生。

  5.快照隔離模式,這個模式同樣可以防止三種情況的發生,只是方法不同。它為每一個事務提供其查詢數據的“快照”,事務可以查詢快照,無需返回到源數據表格,從而防止產生臟數據讀取。

  如果想要改變SQL Server使用的隔離模式,只需要輸入以下命令:

  

復制代碼代碼如下:
SET TRANSACTION ISOLATION LEVEL

 

  可以用以下關鍵詞代替:

  · READ COMMITTED

  · READ UNCOMMITTED

  · REPEATABLE READ

  · SERIALIZABLE

  · SNAPSHOT

  這些都是基本的SQL Server事務隔離模式。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 田林县| 巴林右旗| 东港市| 蒲江县| 西藏| 应用必备| 外汇| 温州市| 南昌市| 宝丰县| 永春县| 绥滨县| 和林格尔县| 同德县| 泾阳县| 克东县| 阿合奇县| 禄劝| 柞水县| 长宁县| 多伦县| 西乌珠穆沁旗| 苏州市| 江门市| 双鸭山市| 通许县| 永宁县| 克拉玛依市| 常山县| 新田县| 伊春市| 成都市| 全南县| 富裕县| 茌平县| 通江县| 贞丰县| 合阳县| 乐山市| 那曲县| 当阳市|