首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在过程中强制设置最低隔离级别?

如何在过程中强制设置最低隔离级别?
EN

Database Administration用户
提问于 2019-09-25 13:51:31
回答 1查看 116关注 0票数 0

如何在mssql中强制程序中的最小隔离级别?

我可以在我的过程中使用"SET事务隔离级别可重复读取“来设置事务级别。但是,如果调用方/执行器使用的是,则此命令将降低隔离级别。“设置事务隔离级别SERIALIZABLE;”我如何在不降低较高隔离级别的情况下强制最低隔离级别?

如果我在我的过程中提交了“嵌套”事务,会发生什么?嵌套事务获得的锁会一直保持到提交(调用方的)外部事务为止吗?

EN

回答 1

Database Administration用户

发布于 2019-09-25 14:18:56

在服务器中确定事务隔离级别有几个选项,这取决于您是否希望将读取提交的快照作为独立于read提交的快照。一旦您知道您的会话所使用的隔离级别,您就可以实现任何您想要的逻辑。有点像

代码语言:javascript
复制
IF EXISTS( SELECT 1
             FROM sys.dm_exec_sessions 
            WHERE session_id = @@SPID
              AND transaction_isolation_level < 3 )
BEGIN
  set transaction isolation level repeatable read;
END;
票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/249579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档