Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Archiwizacja danych pomiędzy połączonymi serwerami - problem z transakcją

Czy próbowałeś ustawić XACT_ABORT na początku skryptu?

SET XACT_ABORT ON

Niezwiązane, ale nie można zapisać pętli jako:

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

Lub jeszcze lepiej, przepisz, aby nie uderzać w tabelę połączoną dwa razy podczas iteracji pętli.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak dołączyć do pustego stołu

  2. Jak sprawdzić poziom zgodności bazy danych w SQL Server za pomocą T-SQL

  3. Jak analizować dane json w SQL Server 2012?

  4. Czy można użyć podwójnych cudzysłowów do rozgraniczenia ciągu?

  5. Obejście dla DATEDIFF() Ignorowanie SET DATEFIRST w SQL Server (przykład T-SQL)