如何设置所有表和所有视图隔离级别以读取未提交?

时间:2013-12-12 12:01:46

标签: sql sql-server sql-server-2012

目前,我们有很多后台服务正在运行。这些服务正在向服务器插入/更新大量数据。这就是我们的SELECT查询阻塞的原因。所以,对于临时我需要使所有表和所有视图隔离级别读取未提交。有可能吗?

2 个答案:

答案 0 :(得分:0)

首先,我想告诉你,阅读未经修改的数据只不过是Dirty Read。 例如,您正在使用AdventureWorks数据库,那么您只需触发此查询

使用AdventureWorks SET TRANSACTION ISOLATION LEVEL READ UNCOMMITED。

这将帮助您查看某些事务创建/更新但尚未提交的所有记录。 默认情况下,在SQL Server中,“事务隔离级别”设置为“READ COMMITED”。 因此,直到某些查询锁定了独占锁,其他事务无法查看处于未通信状态的其他事务的数据。

随时回复一下结果。

亲切的问候,
Ashay(印度)

答案 1 :(得分:-1)

在您的选择查询中使用提示NoLock

select * from userTbl with(NOLOCK)