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

之前因为MySQL没有with(nolock)这种写法,于是想设置隔离级别,结果被坑。 直觉以为和MSSQL一样只要打set transaction isolation level xxx 就能搞定 ,然后弄了老半天才发现中间需要价格session ,结果今天写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;

posted @ 2015-09-07 23:26  Haseo  阅读(1048)  评论(0编辑  收藏  举报