Cannot create plan guide '%.*ls' because type '%.*ls' provided is not allowed.

Error Message:
Msg 10501, Level 16, State 1, Procedure sp_create_plan_guide, Line 20
Cannot create plan guide ‘%.*ls’ because type ‘%.*ls’ provided is not allowed.

Severity level:
16.

Description:
This error message appears when you try to create a planguide, but the type specified by @type is not a recognized type.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
Errors of the Severity Level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. Only valid types are recognized.

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
(
    c1 int
);
GO

EXEC sp_create_plan_guide
    @name = ‘Guide1’,
    @stmt = ‘SELECT TOP 1
                *
              FROM
                dbo.t
              ORDER BY
                c1 DESC’,
    @type = ‘SQLL’,
    @module_or_batch = NULL,
    @params = NULL,
    @hints = ‘OPTION (MAXDOP 1)’;

EXEC sp_control_plan_guide ‘DROP’, ‘Guide1’;

Remarks:
In the above example we try to create a planguide. Because the @type ‘SQLL’ is not recognized, the error is raised.

]]>

Leave a comment

Your email address will not be published.