• This can be done using sub-query

    Using TOP

    DECLARE @BATCH_SIZE INT = 10;

    DELETE X

    FROM (

    SELECT TOP (@BATCH_SIZE) [COLUMN]

    FROM [TABLE_NAME] M

    ORDER BY [COLUMN] DESC

    ) AS X

    Using OFFSET-FETCH (2012)

    DECLARE @BATCH_SIZE INT = 10;

    DELETE X

    FROM (

    SELECT [COLUMN]

    FROM [TABLE_NAME] M

    ORDER BY [COLUMN] DESC

    OFFSET 0 ROWS

    FETCH FIRST (@BATCH_SIZE) ROWS ONLY

    ) AS X