Jeg tror ud fra spørgsmålet, at du leder efter den næste ledige, selvom det måske ikke er det samme som max+1 vel? - I så fald:
Start med en liste over heltal, og se efter dem, der ikke er der i gruppeid-kolonnen, for eksempel:
;WITH CTE_Numbers AS (
SELECT n = 2001
UNION ALL
SELECT n + 1 FROM CTE_Numbers WHERE n < 4000
)
SELECT top 1 n
FROM CTE_Numbers num
WHERE NOT EXISTS (SELECT 1 FROM MyTable tab WHERE num.n = tab.groupid)
ORDER BY n
Bemærk:du skal justere 2001/4000
værdier i CTE for at tillade det ønskede område. Jeg antog navnet på din tabel til MyTable