Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Perbarui kueri pada jutaan baris mengisi log transaksi

Pada akhirnya contoh yang sudah saya tulis bekerja paling baik; kesalahan penuh log transaksi tertangkap dalam tangkapan dan 15 menit cukup lama untuk log didaur ulang.

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. Bagaimana saya bisa memanggil fungsi SQL di C#?

  2. Bagaimana cara mendapatkan nilai baris sebelumnya dan saat ini menggunakan CTE rekursif?

  3. Cara Menemukan Lokasi File Data dan File Log di SQL Server

  4. Mengoptimalkan Hapus di SQL Server

  5. TABLOCK vs TABLOCKX