教你使用sqlserver:查询锁住sql语句以及如何解锁方法

查看被锁表语句

–查看被锁表:
SELECT
request_session_id spid,
OBJECT_NAME(
resource_associated_entity_id
) tableName
FROM
sys.dm_tran_locks
WHERE
resource_type = ‘OBJECT’
ORDER BY request_session_id ASC
–spid 锁表进程
–tableName 被锁表名

–根据锁表进程查询相应进程互锁的SQL语句
DBCC INPUTBUFFER (249)

解锁语句

— 解锁:
DECLARE
@spid INT
SET @spid = 52–锁表进程
DECLARE
@SQL VARCHAR (1000)
SET @SQL = ‘kill ‘ + CAST (@spid AS VARCHAR) EXEC (@SQL)

生成解锁SQL语句

–生成解锁SQL
SELECT
DISTINCT ‘DECLARE @spid INT SET @spid = ‘,request_session_id,’ DECLARE @SQL VARCHAR (1000) SET @SQL = ”kill ” + CAST (@spid AS VARCHAR) EXEC (@SQL);’ as s
FROM
sys.dm_tran_locks
WHERE
resource_type = ‘OBJECT’ –spid 锁表进程
–tableName 被锁表名

总结

查看被锁表语句

–查看被锁表:
SELECT
request_session_id spid,
OBJECT_NAME(
resource_associated_entity_id
) tableName
FROM
sys.dm_tran_locks
WHERE
resource_type = ‘OBJECT’
ORDER BY request_session_id ASC
–spid 锁表进程
–tableName 被锁表名

–根据锁表进程查询相应进程互锁的SQL语句
DBCC INPUTBUFFER (249)

解锁语句

— 解锁:
DECLARE
@spid INT
SET @spid = 52–锁表进程
DECLARE
@SQL VARCHAR (1000)
SET @SQL = ‘kill ‘ + CAST (@spid AS VARCHAR) EXEC (@SQL)

生成解锁SQL语句

–生成解锁SQL
SELECT
DISTINCT ‘DECLARE @spid INT SET @spid = ‘,request_session_id,’ DECLARE @SQL VARCHAR (1000) SET @SQL = ”kill ” + CAST (@spid AS VARCHAR) EXEC (@SQL);’ as s
FROM
sys.dm_tran_locks
WHERE
resource_type = ‘OBJECT’ –spid 锁表进程
–tableName 被锁表名

总结

以上就是本文关于教你使用sqlserver:查询锁住sql语句以及如何解锁方法的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅:ORACLE SQL语句优化技术要点解析等,如果有什么问题,可以随时留言,小编会及时回复大家,努力给广大编程爱好及工作者提供更优质的文章及更好的阅读体验。感谢朋友们对本站的支持!

我想要获取技术服务或软件
服务范围:MySQL、ORACLE、SQLSERVER、MongoDB、PostgreSQL 、程序问题
服务方式:远程服务、电话支持、现场服务,沟通指定方式服务
技术标签:数据恢复、安装配置、数据迁移、集群容灾、异常处理、其它问题
沟通购买:QQ咨询 淘宝咨询 微信咨询 淘宝店铺
版权申明及联系
本站部分文章参考或来源于网络,如有侵权请联系站长。本站提供相关远程技术服务,有需要可联系QQ
数据库远程运维 » 教你使用sqlserver:查询锁住sql语句以及如何解锁方法