轉載至 http://www.cnblogs.com/whz881027/articles/2112525.html
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的作用是允許使用者先讀取資料(而且不阻塞其他使用者讀資料),並且保證在後來再更新資料時,這一段時間內這些資料沒有被其他使用者修改。