Haben Sie versucht, XACT_ABORT
einzustellen
am Anfang Ihres Skripts einschalten?
SET XACT_ABORT ON
Unabhängig, aber die Schleife konnte nicht geschrieben werden als:
-- Continue looping while rows exist
WHILE EXISTS (SELECT 1 FROM [LINKEDSERVER].MasterDatabase.dbo.Logging WITH(NOLOCK)
WHERE [Date] < @ArchiveDate)
Oder noch besser, schreiben Sie es so um, dass Sie die verknüpfte Tabelle nicht zweimal pro Schleifendurchlauf treffen.