Error Message:
Msg 10528, Level 16, State 1, Procedure sp_create_plan_guide, Line 15
Cannot create plan guide ‘%.*ls’ because its name is invalid. Plan guide name cannot begin with a ‘#’ character.
Severity level:
16.
Description:
This error message appears when you try to create a plan guide with an invalid name.
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 a valid name.
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
@p int
AS
SELECT
c1
FROM
dbo.t
WHERE
c1 = @p;
GO
EXEC sp_create_plan_guide
@name = ‘#Guide1’,
@stmt = ‘SELECT
c1
FROM
dbo.t
WHERE
c1 = @p’,
@type = ‘OBJECT’,
@module_or_batch = ‘dbo.p’,
@params = NULL,
@hints = ‘OPTION (OPTIMIZE FOR (@p = 1))’;
EXEC sp_control_plan_guide ‘DROP’, ‘Guide1’;
Remarks:
In the above example we try to create a planguide. Because we provide a name starting with a #, the error is raised.