SQL SERVER 偶发执行SQL语句卡问题解决
这两天客户那边操作系统,偶发非常卡,写代码追踪后发现是一个查询非常卡,但是表就只有十几条数据
处理方法:
一、查询锁表语句:
select request_session_id 锁表进程,OBJECT_NAME(resource_associated_entity_id) 被锁表名 , * from sys.dm_tran_locks where resource_type='OBJECT';
结果:
二、根据锁表进程查询锁表语句:
DBCC INPUTBUFFER(257)
结果:
分析sql语句是否有问题,然后解决。
特别说明:
sql数据库有个查询锁,大的查询语句会导致锁表,如果是视图,可能同时锁住多个表,所以建立视图的时候要小心,如果基本不修改的表可以用with(nolock).