This website requires JavaScript.

MSSQL 当前会话设置隔离级别与查询

之前因为MySQL没有with(nolock)这种写法,于是想设置隔离级别,结果被坑。 直觉以为和MSSQL一样只要打set transaction isolation level xxx 就能搞定 ,然后弄了老半天才发现中间需要加个session ,结果今天写MS SQL的时候感觉每个表都打with(nolock)太吃力,干脆直接设置READ UNCOMMITTED多美。。。

--设置当前查询隔离级别

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
--查询当前隔离级别
SELECT  CASE transaction_isolation_level 
             WHEN 0 
            THEN 'Unspecified' 
            WHEN 1 
            THEN 'ReadUncommitted' 
            WHEN 2 
            THEN 'ReadCommitted' 
            WHEN 3 
             THEN 'Repeatable' 
            WHEN 4 
            THEN 'Serializable' 
            WHEN 5 
            THEN 'Snapshot' 
        END AS TRANSACTION_ISOLATION_LEVEL 
FROM    sys.dm_exec_sessions 
WHERE   session_id = @@SPID;
0条评论
avatar