1

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

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

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

4

1 回答 1

0

您不需要在读取 (SELECT) 时锁定表,因为读取始终会在表或行上获取共享锁。WITH(NOLOCK)表提示也只允许读取未提交的数据;即其他会话尚未插入和提交的行。您可以考虑设置TRANSACTION ISOLATION LEVELREAD COMMITED确保未提交的数据永远不会变红。

于 2015-10-07T11:23:39.613 回答