【发布时间】:2013-10-30 10:01:56
【问题描述】:
此代码正在运行:
CREATE SYNONYM S FOR [ServerIP].[MyDatabase].[dbo].[MyTable]
SELECT * FROM S
DROP SYNONYM S
而这个不工作。
BEGIN TRAN
CREATE SYNONYM S FOR [ServerIP].[MyDatabase].[dbo].[MyTable]
SELECT * FROM S
DROP SYNONYM S
COMMIT TRAN
我在执行 SELECT 语句时获得了排他锁(request_mode 为 X),resource_type = KEY 在 sysschobjs 和 sysobjvalues 上。
谁能解释它为什么会挂掉?
附:该示例只是对更复杂代码的简化,其中外部事务在调用方 SP 中调用。
【问题讨论】:
标签: sql-server transactions locks