Move Large number of rows I am trying to move close 88101840 rows from one table to another. To handle log growth on the server looking at doing 10000 rows at time. Please have a look at the query below. Just want to find if this way is good or would there be a better way to do it. 

DECLARE @Archive_Rows INT;

SET @Archive_Rows = 1;

WHILE (@Archive_Rows &gt; 0)
  BEGIN
    DELETE TOP (10000) Audit
    OUTPUT deleted.*
    INTO AuditArchive
    WHERE EVENTYEAR = '2016';

    SET @Archive_Rows = @@ROWCOUNT;
  END
Method 1,

DECLARE @TopSize INT = 10000
DECLARE @BatchSize INT = 10000
DECLARE @MaxLimit INT = 1
DECLARE @RowCount INT = 0

BEGIN TRY
    WHILE (@TopSize &lt;= @MaxLimit)
    BEGIN
        DELETE TOP ((@TopSize) Audit
    OUTPUT deleted.*
    INTO AuditArchive
    WHERE EVENTYEAR = '2016';

        SET @RowCount = @@RowCount

        --PRINT @TopSize
        IF (
                @RowCount = 0
                OR @RowCount IS NULL
                )
            BREAK;
        ELSE
            SET @TopSize = @TopSize + @BatchSize
    END
END TRY

BEGIN CATCH
    --catch error
END CATCH


where EVENTYEAR  is index column