對SQL SERVER 2000隔離級別的認識

2022-09-05 07:27:14 字數 973 閱讀 5965

當鎖定用作併發控制機制時,它可以解決併發問題。這使所有事務得以在彼此完全隔離的環境中執行,但是任何時候都可以有多個正在執行的事務。

可序列性是通過執行一組併發事務達到的資料庫狀態,等同於這組事務按某種順序連續執行時所達到的資料庫狀態。

sql-92 隔離級別

儘管可序列性對於事務確保資料庫中的資料在所有時間內的正確性相當重要,然而許多事務並不總是要求完全的隔離。例如,多個作者工作於同一本書的不同章節。新章節可以在任意時候提交到專案中。但是,對於已經編輯過的章節,沒有編輯人員的批准,作者不能對此章節進行任何更改。這樣,儘管有未編輯的新章節,但編輯人員仍可以確保在任意時間該書籍專案的正確性。編輯人員可以檢視以前編輯的章節以及最近提交的章節。

事務準備接受不一致資料的級別稱為隔離級別。隔離級別是乙個事務必須與其它事務進行隔離的程度。較低的隔離級別可以增加併發,但代價是降低資料的正確性。相反,較高的隔離級別可以確保資料的正確性,但可能對併發產生負面影響。應用程式要求的隔離級別確定了 sql server 使用的鎖定行為。

sql-92 定義了下列四種隔離級別,

sql server 支援所有這些隔離級別:

未提交讀(事務隔離的最低級別,僅可保證不讀取物理損壞的資料)。

提交讀(sql server 預設級別)。

可重複讀。

可序列讀(事務隔離的最高端別,事務之間完全隔離)。

如果事務在可序列讀隔離級別上執行,則可以保證任何併發重疊事務均是序列的。

下面四種隔離級別允許不同型別的行為。

隔離級別

髒讀不可重複讀取

幻像未提交讀是是

是提交讀 否是是

可重複讀否否

是可序列讀否否

否事務必須執行於可重複讀或更高的隔離級別以防止丟失更新。當兩個事務檢索相同的行,然後基於原檢索的值對行進行更新時,會發生丟失更新。如果兩個事務使用乙個 update 語句更新行,並且不基於以前檢索的值進行更新,則在預設的提交讀隔離級別不會發生丟失更新。

SQLSERVER2000技術規格

sqlserver2000技術規格 系統技術規格 每個伺服器最多可以允許16個sqlserver例項 每個例項可擁有 2147483467 個鎖 資料庫技術規格 sqlserver的資料庫大小1048516tb 每個資料庫可擁有的檔案組數32767 每個資料庫可擁有的檔案組數256 檔案大小 資料檔...

SQLSERVER2000啟動失敗

服務管理器中啟動sqlserver服務 彈出視窗的錯誤資訊是 本地計算機上的mssqlserver服務啟動後又停止了。一些服務自動停止,如果它們沒有什麼可做的,例如 效能日誌和警報 服務 1 解決方法 調整系統時間到你上一次能夠正常啟動的時間,啟動sqlserver服務,成功後,然後再把時間調回來。...

SQLSERVER2000技術規格

quote 系統技術規格 每個伺服器最多可以允許16個sqlserver例項 每個例項可擁有 2147483467 個鎖 資料庫技術規格 sqlserver的資料庫大小1048516tb 每個資料庫可擁有的檔案組數32767 每個資料庫可擁有的檔案組數256 檔案大小 資料檔案 32tb 夠大了吧,...