Cannot create plan guide '%.*ls' because the hints specified in @hints cannot be applied to the statement specified by either @stmt or @statement_start_offset. Verify that the hints can be applied to the statement.

Error Message:
Msg 10519, Level 16, State 1, Procedure p, Line 2
Cannot create plan guide ‘%.*ls’ because the hints specified in @hints cannot be applied to the statement specified by either @stmt or @statement_start_offset. Verify that the hints can be applied to the statement.

Severity level:
16.

Description:
This error message appears when you try to create a planguide, but the @value for the @hints parameter cannot be applied to the statement.

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. The value for the @hints parameter must be valid to be applied to the statement.

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

IF OBJECT_ID (‘dbo.p’) IS NOT NULL
    DROP PROCEDURE dbo.p;
GO

CREATE PROCEDURE dbo.p
AS
SELECT 1;
GO

EXEC sp_create_plan_guide
    @name = ‘Guide1’,
    @stmt = ‘SELECT 1’,
    @type = ‘OBJECT’,
    @module_or_batch = ‘p’,
    @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 value for the @hints parameter is not valid for being applied to the statement, the error is raised.

]]>

Leave a comment

Your email address will not be published.