SQL开发人员中是否有针对表对象的锁定机制?

时间:2018-10-19 07:42:10

标签: sql

在我的多用户数据库中,多个并发事务中的语句可以更新表中的相同数据。我必须限制数据访问,直到一笔交易完成

我听说过数据并发性和一致性,但听不懂

1 个答案:

答案 0 :(得分:0)

有两种选择。

1)使用TABLOCKX锁定整个表:

如果您正在交易中,并且在表上获得排他锁,例如:

SELECT 1 FROM TABLE WITH (TABLOCKX)

没有其他进程能够获取表上的任何锁,这意味着所有试图与表进行对话的查询都将被阻塞,直到事务提交为止。

2)使用手动应用程序锁定:

sp_getapplock (Transact-SQL) | Microsoft Docs[^]

sp_releaseapplock (Transact-SQL) | Microsoft Docs[^]