查看被锁表:
创新互联制作网站网页找三站合一网站制作公司,专注于网页设计,成都网站制作、成都做网站、外贸营销网站建设,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为上千家服务,创新互联网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
from sys.dm_tran_locks where resource_type='OBJECT'
spid 锁表进程
tableName 被锁表名
1、首先需要判断是哪个用户锁住了哪张表.
查询被锁表
select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'
查询后会返回一个包含spid和tableName列的表.
其中spid是进程名,tableName是表名.
2.了解到了究竟是哪个进程锁了哪张表后,需要通过进程找到锁表的主机.
查询主机名
exec sp_who2 'xxx'
xxx就是spid列的进程,检索后会列出很多信息,其中就包含主机名.
3.通过spid列的值进行关闭进程.
关闭进程
declare @spid intSet @spid = xxx --锁表进程declare @sql varchar(1000)set @sql='kill '+cast(@spid as varchar)exec(@sql)
查看被锁表:select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT' spid 锁表进程 tableName 被锁表名 解锁: declare @spid int Set @spid = 57 --锁表进程declare @sql varchar(1000)set @sql='kill '+cast(@spid as varchar)exec(@sql)
--死锁检测
use master
Select * from sysprocesses where blocked0
--找到SPID
exec sp_lock
--根据SPID找到OBJID
select object_name(85575343)
--根据OBJID找到表名
能查询 但是不能插入修改删除操作。
--查看被锁表: select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'
--spid 锁表进程
--tableName 被锁表名
-- 解锁:
declare @spid int
Set @spid = 57 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)