鎖定相容性
如果資源已由另一個交易鎖定,而第二個交易需要存取該資源,Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) 會根據第一個交易所用的鎖定模式相容性,決定是否授予第二個鎖定。
只有相容的鎖定類型可加在已鎖定的資源上。例如,維持獨佔 (X) 鎖定時,沒有其他交易能取得該資源的共用、更新、或獨佔鎖定,直到第一個交易結束並釋放 X 鎖定為止。或者,如果資源上已套用共用 (S) 鎖定,即使第一個交易尚未完成,其他交易也能取得該項目的共用鎖定或更新 (U) 鎖定。但是,在共用鎖定被釋放之前,其他交易無法取得獨佔鎖定。
資源鎖定模式具有相容性矩陣,顯示哪些鎖定與相同資源上取得的其他鎖定相容,並依漸增的鎖定強度列出。
下表顯示要求的鎖定模式及其與現有鎖定模式的相容性。
要求的模式 | IS | S | U | IX | SIX | X |
---|---|---|---|---|---|---|
意圖共用 (IS) |
是 |
是 |
是 |
是 |
是 |
否 |
共用 (S) |
是 |
是 |
是 |
否 |
否 |
否 |
更新 (U) |
是 |
是 |
否 |
否 |
否 |
否 |
意圖獨佔 (IX) |
是 |
否 |
否 |
是 |
否 |
否 |
與意圖獨佔共用 (SIX) |
是 |
否 |
否 |
否 |
否 |
否 |
獨佔 (X) |
否 |
否 |
否 |
否 |
否 |
否 |
附註: |
---|
IX 鎖定與 IX 鎖定模式相容,因為 IX 表示只要升級某些資料列,而非全部資料列。如果受影響的資料列與其他交易正在更新的資料列不同,則可允許其他交易讀取或更新某些資料列。 |
鎖定相容性矩陣
SQL Server Compact Edition 支援下列鎖定範圍:
- Sch-S, Sch-X, S, U, X, IS, IU, IX, SIU, SIX, UIX
附註: |
---|
結構描述固定性 (Sch-S) 鎖定與所有鎖定模式相容,除了結構描述修改 (Sch-M) 鎖定模式以外。Sch-M 鎖定與所有鎖定模式皆不相容。 |
如需鎖定相容性矩陣資訊,請參閱《SQL Server 線上叢書》。