Cannot create plan guide '%.*ls' because @module_or_batch can not be compiled.

Error Message:
Msg 10516, Level 16, State 1, Procedure sp_create_plan_guide, Line 20
Cannot create plan guide ‘%.*ls’ because @module_or_batch can not be compiled.

Severity level:
16.

Description:
This error message appears when you try to create a planguide, but the @module_or_batch parameter cannot be compiled.

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. You must provide valid syntax or the @module_or_batch parameter.

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 DESCC’,
    @type = ‘SQL’,
    @module_or_batch = NULL,
    @params = NULL,
    @hints = ‘OPTION (MAXDOP 1)’;

Remarks:
In the above example we try to create a planguide. Because of the syntax error in the @stmt parameter, the error is raised.

]]>

Leave a comment

Your email address will not be published.