Har du testat att ställa in XACT_ABORT
på i början av ditt manus?
SET XACT_ABORT ON
Orelaterat, men kunde loopen inte skrivas som:
-- Continue looping while rows exist
WHILE EXISTS (SELECT 1 FROM [LINKEDSERVER].MasterDatabase.dbo.Logging WITH(NOLOCK)
WHERE [Date] < @ArchiveDate)
Eller ännu bättre, skriv om så att du inte träffar den länkade tabellen två gånger per loopiteration.