SQL Server查詢鎖表語句

-- 鎖表(其它事務不能讀、更新、刪除)

BEGIN TRAN

SELECT * FROM WITH(TABLOCKX);WAITFOR delay '00:00:20'

COMMIT TRAN


-- 鎖表(其它事務只能讀,不能更新、刪除)

BEGIN TRAN

SELECT * FROM WITH(HOLDLOCK);WAITFOR delay '00:00:20'

COMMIT TRAN


-- 鎖部分行

BEGIN TRAN

SELECT * FROM WITH(XLOCK) WHERE ID IN ('81A2EDF9-D1FD-4037-A17B-1369FD3B169B');WAITFOR delay '00:01:20'

COMMIT TRAN


-- 查看被鎖表

select request_session_id 鎖表進程, OBJECT_NAME(resource_associated_entity_id) 被鎖表名 from sys.dm_tran_locks where resource_type = 'OBJECT';


-- 解鎖

declare @spid int

Set @spid = 66 -- 鎖表進程

declare @sql varchar(1000)set @sql = 'kill ' + cast(@spidas varchar)exec(@sql)


分享到:


相關文章: