sp_lock 说明

sp_Lock 是MSSQL 避免资源竞争,而设置的一种锁机制,sp_lock存储过程返回当前进程锁定情况


sp_lock 功能简介

sp_lock 这是一个MSSQL内置的存储过程,通过此存储过程,可以获取当前MSSQL(syslockinfo)中锁定的资源信息,


sp_lock运行截图及参数说明

当我们在查询分析器中运行 sp_lock 会返回以下几列(spid,dbid,objid,indid,type,resource,mode,status)

spid 表示 当前的进程在MSSQL中唯一编号 (可以通过 dbcc inputbuffer(spid) 获取进程所对应的运行内容)
dbid 表示 锁定所对应的数据库(可以通过 select * from sysdatabases表格中获取相应的id ,获取spid所对应的数据库)
objid 表示 锁定所对应的对象id(可以通过 select * from sysobjects 表格中获取相对应的id)
Indid 表示 索引ID编号
Type 表示 对象类型
(RID行锁定 Key 索引范围内锁定 PAG 锁定一页数据 EXT 锁定一个数据簇 TAB 锁定整个数据表 \
DB 锁定整个数据库 FIL 锁定数据文件 APP 锁定一个应用所占用资源 )
Resource 表示 锁资源
Mode 表示 锁模式 (S 共享锁 U 修改锁 X排它锁 IS共享意图锁 IX 排它意图锁)
status 表示当前锁的状态 (GRANT 获取状态 WAIT 被其它进程组赛状态 CVNT 锁转化中)

sp_lock