2015-10-07 47 views
1

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

由于应用NO_LOCK可能会导致DIRTY READ问题,因此希望在仅包含域数据而不包含事务数据的表上应用NO_LOCK。即非常不频繁地被改变的数据。

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

回答

0

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

+0

有什么办法可以禁用共享锁吗? –