如何移除Synapse Dedicated Pool中数据表上的锁?
Synapse Dedicated Pool数据表锁移除查询方法
步骤1:查询持有目标表锁的会话信息
执行以下语句定位到持有两张被锁表锁的会话:
SELECT t.request_session_id, s.session_id, s.login_name, s.status, OBJECT_NAME(p.object_id) AS locked_table_name, t.resource_type, t.request_mode FROM sys.dm_tran_locks t INNER JOIN sys.partitions p ON t.resource_associated_entity_id = p.hobt_id INNER JOIN sys.dm_pdw_exec_sessions s ON t.request_session_id = s.session_id WHERE t.resource_type = 'OBJECT' AND OBJECT_NAME(p.object_id) IN ('替换为你的第一张被锁表名', '替换为你的第二张被锁表名')
步骤2:终止持锁会话释放锁
确认上一步查询返回的会话没有正在运行的必要业务操作后,执行以下语句终止会话:
KILL 替换为第一步查到的对应session_id;
注意事项
- 强制终止会话会触发该会话内未提交事务的回滚,可能需要等待一定时间才能完成锁释放,不会立刻生效
- 请勿随意终止系统级会话,避免影响实例正常运行
内容的提问来源于stack exchange,提问作者v-jh
相关产品推荐
相关产品推荐

