有没有办法告诉sql server使用(nolock)提示或存储过程中的每个select?

非常难以将它添加到每个选择....

其他提示

正如其他人所说,全球(nolock)是使用READ UNCOMMITTED完成的。

但是,在走这条路线之前,首先要尝试READ COMMITTED SNAPSHOT。这意味着您的读取不会被正在进行的插入/更新锁定,这意味着数据不会变脏,只是过时了。

我认为这就是你要找的......

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

您想使用以下语法

SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED

我通过查看位于此处的NOLOCK表提示找到了此信息。 。 WITH(NOLOCK)表提示相当于将隔离级别设置为READ UNCOMMITTED。以下是来自 MSDN 的摘录:

  

NOLOCK   相当于READUNCOMMITTED。有关更多信息,请参阅本主题后面的READUNCOMMITTED。

但是,您可能会得到不正确的数据。在2005年,最好使用快照隔离: <!>;当快照隔离有效并且何时受伤<!> http://www.devx.com/dbzone/Article/32957

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top