如何在SQL Server中的表级别上应用锁定

时间:2015-10-07 11:19:10

标签: sql-server-2008 nolock

我正在使用SQL Server 2008 R2版本,并希望在从表中选择数据时在表级别上应用锁定。

由于应用NO_LOCK会导致DIRTY READ问题,因此要对仅包含域数据而不包含事务数据的表应用NO_LOCK。即,改变频率非常低的数据。

请建议以任何方式在域名表上应用LOCK。

1 个答案:

答案 0 :(得分:0)

读取时不需要锁定表(SELECT),因为read总是获取表或行上的共享锁。 WITH(NOLOCK)表提示只允许读取未提交的数据;这是尚未插入并由其他会话提交的行。您可以考虑将TRANSACTION ISOLATION LEVEL设置为READ COMMITED,以确保未提交的数据永远不会是红色。