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

Заявката за актуализиране на милиони редове изпълва регистъра на транзакциите

В крайна сметка примерът, който вече бях написал, работи най-добре; грешка в пълния регистър на транзакциите се хваща в уловката и 15 минути са достатъчно време, за да бъде рециклиран регистрационният файл.

DECLARE 
    @AffectedRows int 

SET @AffectedRows = 0 

WHILE @AffectedRows < @RowsToUpdate 
BEGIN 
    BEGIN TRY 
        BEGIN TRAN 
        -- Do some updates   
        SET @AffectedRows = @AffectedRows + @@RowCount 
        COMMIT TRAN 
    END TRY 
    BEGIN CATCH 
        PRINT ERROR_MESSAGE() 
        WAITFOR DELAY '00:15:00' 
    END CATCH 
END 

PRINT @AffectedRows


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Изключение „Посоченият вход не представлява валиден географски екземпляр“ при използване на SqlGeographyBuilder

  2. Заявка за проверка на припокриващи се диапазони в sql сървър?

  3. Обединете много колони в една, като запазите сходството и замените разликите

  4. Инструкцията INSERT е в конфликт с ограничението FOREIGN KEY - SQL Server

  5. Разбиране на удара в производителността на роля на приложение в SQL с ASN.NET