Msg 1914, Level 16, State 1, Line 1
Index cannot be created on object ‘%.*ls’ because the object is not a user table or view.
This error message appears when you try to create an index on the object that is not a table or a view.
The T-SQL statement can be parsed, but causes the error at runtime.
Error 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. Indices can only be created for table and view objects. For all other object types it is not allowed to create an index.
All versions of SQL Server
CREATE FUNCTION dbo.MyDate()
WITH EXECUTE AS CALLER
CREATE UNIQUE INDEX UI_t_c1 ON dbo.MyDate(c1)
DROP FUNCTION dbo.MyDate
In the above example we try to create an index for the user-defined function dbo.MyDate. This raises the error.