sql >> Databáze >  >> RDS >> Sqlserver

Aktualizační dotaz na miliony řádků vyplní protokol transakcí

Nakonec nejlépe fungoval příklad, který jsem již napsal; úplná chyba protokolu transakcí se zachytí v záchytu a 15 minut je dostatečně dlouhá doba na to, aby byl protokol recyklován.

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. Postgresql date_trunc s časovým pásmem posune pásmo o 1 hodinu

  2. Vysmívat se MySQL databázi v Pythonu

  3. Chyba dotazu MySQL s CASE a INNER JOIN

  4. Najděte duplicitní řádky v databázi