• Based on my experience with a big table, the best approach is to get a Total Rows number in a separate call:

    set statistics io on

    set statistics time on

    DECLARE @TotRows AS INT

    DECLARE @startRow INT ; SET @startrow = 50

    ;WITH cols

    AS

    (

    SELECT table_name, column_name,

    ROW_NUMBER() OVER(ORDER BY table_name, column_name) AS seq

    FROM [INFORMATION_SCHEMA].columns

    )

    --select * from cols

    SELECT table_name, column_name

    FROM cols

    WHERE seq BETWEEN @startRow AND @startRow + 49

    ORDER BY seq

    select @TotRows=count(*)

    FROM [INFORMATION_SCHEMA].columns

    --SELECT @TotRows

    set statistics time off

    set statistics io off