Zkusili jste nastavit XACT_ABORT
zapnout na začátku skriptu?
SET XACT_ABORT ON
Nesouvisí, ale smyčku nelze zapsat jako:
-- Continue looping while rows exist
WHILE EXISTS (SELECT 1 FROM [LINKEDSERVER].MasterDatabase.dbo.Logging WITH(NOLOCK)
WHERE [Date] < @ArchiveDate)
Nebo ještě lépe, přepište, abyste nenarazili na propojenou tabulku dvakrát za iteraci smyčky.