SET TRANSACTION ISOLATION LEVEL
控制連線發出的所有 Microsoft® SQL Server™ SELECT 陳述式之預設交易鎖定行為。語法
SET TRANSACTION ISOLATION LEVEL
    { READ COMMITTED
        | READ UNCOMMITTED
        | REPEATABLE READ
        | SERIALIZABLE 
    }引數
READ COMMITTED指定資料讀取時保持的共用鎖定,以避免 #sql:dirty_read不當讀取,但是這些資料可以在交易結束前變更,因此造成了#sql:nonrepeatable_read無法重複讀取或#sql:phantom幽靈資料。此選項是 SQL Server 的預設值。READ UNCOMMITTED實作 Dirty 讀取,或隔離等級 (Isolation Level) 0 的鎖定,表示不會發出共用鎖定,也不允許獨占鎖定。設定為此選項時,可能可以讀取未認可或 Dirty 資料;交易完成前,可以變更資料中的值,資料列也可以在資料集中出現或消失。此選項與在交易的所有 SELECT 陳述式中將所有資料表設定為 NOLOCK 具有相同的效果。這是四個隔離等級中限制最少的一種。REPEATABLE READ查詢中                         所使用的所有資料都會遭到鎖定,以免其他的使用者更新資料,但是其他使用者還是可以在資料集中插入新的幽靈資料列並於稍後在目前交易中讀入此資料。由於同時發生性較預設的隔離等級低,因此只會在必要時才會使用此選項。SERIALIZABLE在資料集中加上某個範圍的鎖定,以免其他使用者在交易完成前更新或插入資料料至資料集。這是四個隔離等級中限制最嚴格的一種。由於同時發生性較低,因此只會在必要時才會使用此選項。此選項與在交易的所有 SELECT 陳述式中將所有資料表設定為HOLDLOCK具有相同的效果。