Sql server 2012 SQL Server查询被卡住,但正在运行,无需等待
我有一个SSIS包,它运行一个执行SQL任务,调用一个proc。我正在处理的查询是讨厌的,由供应商开发,它实际上嵌套在两个进程的深处。此外,它还使用父进程中的临时表以及两个嵌套的Sql server 2012 SQL Server查询被卡住,但正在运行,无需等待,sql-server-2012,database-performance,Sql Server 2012,Database Performance,我有一个SSIS包,它运行一个执行SQL任务,调用一个proc。我正在处理的查询是讨厌的,由供应商开发,它实际上嵌套在两个进程的深处。此外,它还使用父进程中的临时表以及两个嵌套的NOT IN子查询 目前无法重写,但问题更多的是确定问题的起因。如前所述,该查询很差,但通常运行速度很快,但现在它被卡住了。查看来自dm_exec_requests的查询,我可以看到它处于运行状态,没有等待。我看不到来自I/O的任何活动,也看不到任何真正的CPU活动 有没有办法确定查询的实际情况 听起来可能有死锁问题。要
NOT IN
子查询
目前无法重写,但问题更多的是确定问题的起因。如前所述,该查询很差,但通常运行速度很快,但现在它被卡住了。查看来自dm_exec_requests
的查询,我可以看到它处于运行状态,没有等待。我看不到来自I/O的任何活动,也看不到任何真正的CPU活动
有没有办法确定查询的实际情况 听起来可能有死锁问题。要查看被阻止的系统进程(死锁)列表,可以运行以下操作:
从阻止>0的系统进程中选择*
若并没有死锁,那个么可能是性能问题,我会在SQLServerManagementStudio中通过探查器运行SQL跟踪。在这种情况下,您可以右键单击并执行存储的过程,传入与从SSIS包传入相同的参数。然后检查探查器,看看瓶颈在哪里
你好,罗伯这是件奇怪的事。没有死锁,没有其他正在运行的进程。完全没有阻塞。我可以再次运行该进程,它将正常运行。执行计划不错,它正在进行插入。我只是不知道是什么导致它停下来。这种情况大约每两个月发生一次,但没有真正的规律性。@Dustinline你知道吗?我们有一个类似的问题。对不起,我不记得那是5年前的事了。不过,我会接受这个答案的建议。