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

Zapytanie o aktualizację na milionach wierszy wypełnia dziennik transakcji

Ostatecznie najlepiej sprawdził się przykład, który już napisałem; błąd pełnego dziennika transakcji zostaje wyłapany i 15 minut to wystarczająco długo, aby dziennik mógł zostać przetworzony.

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. Jak naprawić „Schemat partycji ‚…’ nie ma żadnej następnej używanej grupy plików” w SQL Server

  2. Przewodnik dla początkujących po tablicach SQL

  3. Zwróć tożsamość ostatniego wstawionego wiersza z procedury składowanej

  4. SQL 2008 - varchar(max) a typy danych tekstowych

  5. Błąd uwierzytelniania Web.config