Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Archiviazione dei dati tra server collegati - problema di transazione

Hai provato a impostare XACT_ABORT all'inizio del tuo script?

SET XACT_ABORT ON

Non correlato, ma non è stato possibile scrivere il ciclo come:

-- Continue looping while rows exist
WHILE EXISTS (SELECT 1 FROM [LINKEDSERVER].MasterDatabase.dbo.Logging WITH(NOLOCK) 
              WHERE [Date] < @ArchiveDate)

O ancora meglio, riscrivi in ​​modo da non raggiungere la tabella collegata due volte per iterazione del ciclo.