• Try this

    ;WITH Missing (missnum, maxid)

    AS

    (

    SELECT

    1 AS missnum, (select max(RegisterNo )

    FROM

    dbo.studentMaster)

    UNION ALL

    SELECT

    missnum + 1, maxid

    FROM

    Missing

    WHERE

    missnum < maxid

    )

    SELECT missnum

    FROM

    Missing

    LEFT OUTER JOIN

    dbo.studentMaster tt on tt.RegisterNo = Missing.missnum

    WHERE

    tt.RegisterNo is NULL

    OPTION (MAXRECURSION 0);

    Take from