相关疑难解决方法(0)

请求表上的 Sch-M 锁

我可以在读取未提交模式下访问数据库,并且需要在操作环境中对表进行维护。我需要获取一个表的排他锁,做一个工作,然后释放锁。

在此维护期间,即使读取查询也不应将未提交的数据取回。

这个问题和答案看起来很有希望。我愿意:

begin transaction;
SELECT TOP (1) 1 FROM a WITH (TABLOCK);
Run Code Online (Sandbox Code Playgroud)

但是随后,SIX在 table 上获得了锁a。但是,这不会从选择查询中锁定表。如何获取Sch-M表上的锁?我最多可以通过以下方式获得Sch-S锁定:

SELECT TOP (1) * FROM a WITH (TABLOCK);
Run Code Online (Sandbox Code Playgroud)

这仍然不会阻止表上的选择查询。

sql-server locking

2
推荐指数
1
解决办法
57
查看次数

标签 统计

locking ×1

sql-server ×1