髒讀:一個事務讀取到了另一個事務沒有提及的數據
不可重複讀:在一個事務中,兩次讀取同一數據得到內容不同
幻讀:在同一事物中,用同樣的操作讀取兩次,得到的記錄數不相同
事務的隔離級別:
Read Uncommitted
數據讀取時不需要鎖定
Read Committed
數據讀取時需要共享鎖定
Repeatable Read
數據讀取時需要排他鎖
Serializable
事務必須等同於串行執行
注意無論任何時候更新行都必須要有排他鎖。
插入行不需要鎖。
在Read Committed隔離級別下,數據讀取完畢後立即釋放共享鎖,而在Repeatable Read隔離級別下,事務保持共享
鎖直到整個事務結束。
在SQL Server中調整事務隔離級別是針對會話的,set tran isolation level後,會話中後來開始的事務都在此隔
離級別上執行。一個事務只能具有一個隔離級別。同一會話中的所有事務必須串行執行。必須通過begin tran語句來覆蓋默認事務範圍