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;