问题

实践过程中发现查询的数据量并不大,但是SQLserver一直在显示“正在执行查询”。

原因

这种情况可能是出现了数据库的死锁问题。
可通过如下SQL语句进行验证:

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

观察查询结果即死锁进程,如查询结果为空则没有死锁进程。

解决方法

通过杀死该死锁进程来解决。
可通过如下SQL语句来处理:

kill 进程号

例如死锁进程号spid为56,则:

kill 56

个人能力有限,如有谬误欢迎广大网友指正。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐