解决Sql Server锁表的解锁方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhengjuqiang/article/details/85160707

查看锁表的id
select spId
from master…SysProcesses
where db_Name(dbID) = ‘数据库名称’
and spId <> @@SpId
and dbID <> 0

接触锁表方式
declare @spid int
Set @spid = 57 --锁表进程
declare @sql varchar(1000)
set @sql='kill '+cast(@spid as varchar)
exec(@sql)


操作SQLServer数据库时,遇到这样的问题:已超过了锁请求超时时段。 (Microsoft SQL Server,错误: 1222)

经过查找材料了解为资源抢占,照成死锁,杀死进程就OK了,具体操作如下:

select spId
from master…SysProcesses
where db_Name(dbID) = ‘数据库名称’
and spId <> @@SpId
and dbID <> 0
上面语句是获取进程ID,下面就是根据ID杀死相应进程
exec ('Kill '+spId(进程ID))

转载 https://blog.csdn.net/mh942408056/article/details/41114843

select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName
from sys.dm_tran_locks where resource_type=‘OBJECT’

select spId
from master…SysProcesses
where db_Name(dbID) = ‘qpaccountsdb’
and spId <> @@SpId
and dbID <> 0

猜你喜欢

转载自blog.csdn.net/zhengjuqiang/article/details/85160707