Error Message:
Msg 310, Level 15, State 1, Line 29
The value %d specified for the MAXRECURSION option exceeds the allowed maximum of %d.
Severity level:
15.
Description:
This error message appears when you try to use the MAXRECURSION option with a value that exceeds the allowed maximum.
Consequences:
The SQL statement cannot be parsed and further execution is stopped.
Resolution:
Error of the Severity level 15 are generated by the user and can be fixed by the SQL Server user. The statement cannot be run this way. The value for MAXRECURSION must be between 0 and 32767.
Versions:
This error message was introduced with SQL Server 2005.
Example(s):
IF OBJECT_ID(‘dbo.t’) IS NOT NULL
DROP TABLE dbo.t;
GO
CREATE TABLE dbo.t
(
ID int NOT NULL PRIMARY KEY,
ManagerID int
);
WITH cte (ID, ManagerID) as
(
SELECT
ID, ManagerID
FROM
dbo.t
WHERE
ID IS NOT NULL
UNION ALL
SELECT
cte.ID, cte.ManagerID
FROM
cte
JOIN
dbo.t e ON cte.ManagerID = e.ID
)
SELECT
ID, ManagerID
FROM
cte
OPTION (MAXRECURSION 33000);
GO
Remarks:
In the above example we try to use a value of 33000 for the MAXRECURSION option. This raises the error.
]]>