锁表操作
Posted zzgxl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了锁表操作相关的知识,希望对你有一定的参考价值。
--锁表(其它事务不能读、更新、删除) 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 (1,2,3); 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 = 55 --锁表进程 declare @sql varchar(1000) set @sql=‘kill ‘+cast(@spid as varchar) exec(@sql)
以上是关于锁表操作的主要内容,如果未能解决你的问题,请参考以下文章