SQL Server查询卡住了,但没有等待就运行了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL Server查询卡住了,但没有等待就运行了相关的知识,希望对你有一定的参考价值。

我有一个运行执行SQL任务的SSIS包,它调用proc。我正在处理的查询是讨厌的,由供应商开发,实际上嵌套了几个proc的深层次。要添加它,它使用来自父proc的临时表以及两个嵌套的NOT IN子查询。

目前无法重写,但问题更多的是确定可能导致问题的原因。像上面提到的那样,查询很差,但通常运行得很快,但现在却被卡住了。看看来自dm_exec_requests的查询我可以看到它处于RUNNING状态并且没有等待。我看不到来自I / O的活动,没有任何真正的CPU活动。

有没有办法确定查询实际发生了什么?

答案

听起来可能存在死锁问题。要查看阻塞的sys进程(死锁)列表,您可以运行以下命令:

select * from sysprocesses where blocked> 0

如果没有死锁,那可能是性能问题,我会在SQL Server管理工作室中通过探查器运行SQL跟踪。在这种情况下,您可以右键单击并执行存储过程,传入与从SSIS包传入的相同的参数。然后检查分析器并查看瓶颈在哪里。

问候,Rob

以上是关于SQL Server查询卡住了,但没有等待就运行了的主要内容,如果未能解决你的问题,请参考以下文章

hbase批量查询卡住

我在sql server 里面 运行一条SQL查询语句, 有时候要卡几钞钟才有结果,有时候一下就出结果了。

SQL Server 2016新特性:Live Query Statistics

SQL Server 2008 R2 - sqlcmd bat 文件在文件夹中运行一批 sql 查询,但它们没有按文件名的顺序运行

Oracle 更新/插入卡住,DB CPU 100%,并发高,来自客户端的 SQL*Net 等待消息

在sql server中复制数据库