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. SSISパッケージの作成-OracleからSQLServerにデータをコピーするには

    2. MySQLdbストアドプロシージャ出力パラメータが機能しない

    3. SqlGeographyBuilder 使用時の「指定された入力は、有効な地理インスタンスを表していません」例外

    4. グループ化列の値を順番に変更してデータをグループ化する