Error Message:
Msg 1990, Level 16, State 1, Line 2
Cannot define an index on a view with ignore_dup_key index option. Remove ignore_dup_key option and verify that view definition does not allow duplicates, or do not index view.
Severity level:
16.
Description:
This error message appears when you try to create or alter an index on a view that specifies the ignore_dup_key option.
Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.
Resolution:
Error of the Severity level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be run this way. An index on a view can not be include the ignore_dup_key option.
Versions:
This error message was introduced with SQL Server 2000.
Example(s):
IF OBJECT_ID(‘dbo.v’) IS NOT NULL
DROP VIEW dbo.v;
GO
IF OBJECT_ID(‘dbo.t’) IS NOT NULL
DROP TABLE dbo.t;
GO
CREATE TABLE dbo.T
(
c1 int,
d1 datetime
);
GO
CREATE VIEW dbo.v
WITH SCHEMABINDING
AS
SELECT
c1, d1
FROM
dbo.t
GO
CREATE UNIQUE CLUSTERED INDEX cix_v ON dbo.v (c1)
WITH (IGNORE_DUP_KEY = ON);
GO
Remarks:
In the above example we try to create an index on the view dbo.v specifying the ignore_dup_key option. This raises the error.