sqlserver 查看锁表,解锁
查看被锁表:
代码如下 复制代码
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
from sys.dm_tran_locks where resource_type='OBJECT'
spid 锁表进程
tableName 被锁表名
[@more@]
解锁:
创建一个临时Table
代码如下 复制代码
CREATE TABLE #HarveyLock
(
SPID INT,
DBID INT,
OBJID INT,
INDID INT,
TYPE VARCHAR(100),
RESOURCE VARCHAR(100),
MODE VARCHAR(100),
STATUS VARCHAR(100)
)
将Lock信息存入该Table
INSERT INTO #HarveyLock EXEC SP_LOCK
3.在Table中下条件查询得到的LOCK
SELECT * FROM #HarveyLock
4.KILL 相关LOCK
KILL @SPID
例
代码如下 复制代码
declare @spid int
Set @spid = 57 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)