Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Архивиране на данни между свързани сървъри - проблем с транзакцията

Опитахте ли да настроите XACT_ABORT в началото на вашия скрипт?

SET XACT_ABORT ON

Не е свързано, но не може ли цикълът да бъде написан като:

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

Или още по-добре, пренапишете, така че да не удряте свързаната таблица два пъти на итерация на цикъл.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Нечувствителен към регистър първичен ключ от тип nvarchar, където ß !=ss

  2. стартирайте съхранена процедура и върнете стойности от VBA

  3. Комбинирайте PowerShell и SQL Diagnostic Manager, за да автоматизирате наблюдението на SQL Server

  4. Вземете деня на годината от дата в SQL Server (T-SQL)

  5. Преобразувайте varchar в datetime в sql, който има милисекунди