Проблема : я выполняю этот запрос, который вставляет около 3 300 000 000 строк из table_A
в 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.sys:
select *
from sys.sysprocesses
where blocked != 0
![enter image description here](https://i.stack.imgur.com/bAB4R.png)
Запуск входного буфера dbcc (21):
![enter image description here](https://i.stack.imgur.com/j5oE2.png)
Любая помощь будет оценена.