SQL Server的并發控制介紹
SQL Server的并發控制時怎樣的呢?這是很多人都提到過的問題,下面就為您詳細介紹SQL Server的并發控制,供您參考學習。
SQL Server 2005支持使用行版本控制的兩個事務隔離級別。一個是已提交讀隔離的新實現,另一個是新事務隔離級別(快照)。
當許多人試圖同時修改數據庫中的數據時,必須實現一個控制系統,使一個人所做的修改不會對他人所做的修改產生負面影響。這稱為并發控制。
SQL Server的并發控制理論根據建立并發控制的方法而分為兩類:
悲觀并發控制
一個鎖定系統,可以阻止用戶以影響其他用戶的方式修改數據。如果用戶執行的操作導致應用了某個鎖,只有這個鎖的所有者釋放該鎖,其他用戶才能執行與該鎖沖突 的操作。這種方法之所以稱為悲觀并發控制,是因為它主要用于數據爭用激烈的環境中,以及發生并發沖突時用鎖保護數據的成本低于回滾事務的成本的環境中。
樂觀并發控制
在樂觀并發控制中,用戶讀取數據時不鎖定數據。當一個用戶更新數據時,系統將進行檢查,查看該用戶讀取數據后其他用戶是否又更改了該數據。如果其他用戶更新了數據,將產生一個錯誤。一般情況下,收到錯誤信息的用戶將回滾事務并重新開始。
這種方法之所以稱為樂觀并發控制,是因為它主要用于數據爭用較少的環境中,以及回滾事務的成本偶爾高于讀取數據時鎖定數據的成本的環境中。
Microsoft SQL Server 2005 支持某個范圍的并發控制。用戶通過為游標上的連接或并發選項選擇事務隔離級別來指定并發控制的類型。這些特性可以使用 Transact-SQL 語句或通過數據庫應用程序編程接口(API,如 ADO、ADO.NET、OLE DB 和 ODBC)的屬性和特性來定義。
【編輯推薦】