The value %d specified for the MAXRECURSION option exceeds the allowed maximum of %d.

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. ]]>

Leave a comment

Your email address will not be published.