【張悟軍】SQL Server鎖型別(SQL)

iDotNetSpace發表於2008-06-10
1. HOLDLOCK: 在該表上保持共享鎖,直到整個事務結束,而不是在語句執行完立即釋放所新增的鎖。  
  2. NOLOCK:不新增共享鎖和排它鎖,當這個選項生效後,可能讀到未提交讀的資料或“髒資料”,這個選項僅僅應用於SELECT語句。  
  3. PAGLOCK:指定新增頁鎖(否則通常可能新增表鎖)。 
  4. READCOMMITTED用與執行在提交讀隔離級別的事務相同的鎖語義執行掃描。預設情況下,SQL Server 2000 在此隔離級別上操作。。 
  5. READPAST: 跳過已經加鎖的資料行,這個選項將使事務讀取資料時跳過那些已經被其他事務鎖定的資料行,而不是阻塞直到其他事務釋放鎖,READPAST僅僅應用於READ COMMITTED隔離性級別下事務操作中的SELECT語句操作。  
  6. READUNCOMMITTED:等同於NOLOCK。  
  7. REPEATABLEREAD:設定事務為可重複讀隔離性級別。 
  8. ROWLOCK:使用行級鎖,而不使用粒度更粗的頁級鎖和表級鎖。  
  9. SERIALIZABLE:用與執行在可序列讀隔離級別的事務相同的鎖語義執行掃描。等同於 HOLDLOCK。 
  10. TABLOCK:指定使用表級鎖,而不是使用行級或頁面級的鎖,SQL Server在該語句執行完後釋放這個鎖,而如果同時指定了HOLDLOCK,該鎖一直保持到這個事務結束。  
  11. TABLOCKX:指定在表上使用排它鎖,這個鎖可以阻止其他事務讀或更新這個表的資料,直到這個語句或整個事務結束。 
  12. UPDLOCK :指定在讀表中資料時設定更新 鎖(update lock)而不是設定共享鎖,該鎖一直保持到這個語句或整個事務結束,使用UPDLOCK的作用是允許使用者先讀取資料(而且不阻塞其他使用者讀資料),並且保證在後來再更新資料時,這一段時間內這些資料沒有被其他使用者修改。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-343233/,如需轉載,請註明出處,否則將追究法律責任。

相關文章