查询被spid No 21阻止(SQL Server 2014)

时间:2019-01-14 02:47:54

标签: sql-server sql-server-2014

问题:我正在运行此查询,该查询将table_A中的约3,300,000,000行插入到table_B中:

declare @i bigint, @j bigint, @page int

set @i = 1
set @j = 110000000
set @page = 0

while @page < 33
begin
    insert into table_B
        select column1, column2
        from table_A
        where id between (@i + @j * @page) and (@j + @j * @page)

    set @page = @page + 1
end

查询已经运行了大约3天17个小时,并且仍在运行。检查sys.sysprocess后,我发现此查询(spid = 108)被另一个spid = 21阻止。我尝试使用dbcc inputbuffer (21)检查spid = 21在做什么,但我什么都找不到关于这个spid = 21。

查询sys.sysprocesses:

select *  
from sys.sysprocesses 
where blocked != 0

enter image description here

正在运行dbcc输入缓冲区(21):

enter image description here

任何帮助将不胜感激。

0 个答案:

没有答案