Please, read my comment to the question first.
I believe there's something wrong with your CTE, because when you set
MAXRECURSION
option to
0
(zero), it enable to create inifinite loop. Maximimum value for
MAXRECURSION
is
32767
.
Below CTE is properly executed, even if it repeats almost 40000 times.
WITH NumbersCTE AS
(
SELECT 1 AS Number
UNION ALL
SELECT Number + 1 FROM NumbersCTE
WHERE Number < 40000
)
SELECT * FROM NumbersCTE
OPTION (MAXRECURSION 0)
For further details, please see:
MAXRECURSION Sql Server | SqlHints.com[
^]