Я запускаю процедуру, которая выполняет MERGE
. sp_who2
показывает, что сессия блокируется сама. Как это возможно? Мой sp выглядит так:
CREATE PROC [dbo].[sp] as
BEGIN
MERGE dbo.table as target
USING (
select field1, field2
from dbo.view
) as source (field1, field2)
ON target.field1=source.field1 and target.field2=source.field2
WHEN NOT MATCHED BY SOURCE THEN
DELETE
WHEN NOT MATCHED BY TARGET THEN
INSERT (field1, field2) VALUES (source.field1, source.field2);
END
dbo.table
- огромный огромный стол. Имеет IX_table(field1)
и PK_table(field2,field1)
sp_who2
выглядит так
Версия -
Microsoft SQL Server 2017 (RTM-CU16) (KB4508218) - 14.0.3223.3 (X64)
12 июля 2019 17:43:08 Авторское право (C) 2017 Microsoft Corporation Standard Edition (64-разрядная версия) на Windows Server 2016Стандарт 10.0 (сборка 14393:) (гипервизор)