CREATE INDEX options %ls and %ls are mutually exclusive.

Error Message:
Msg 1916, Level 16, State 4, Line 1
CREATE INDEX options %ls and %ls are mutually exclusive.

Severity level:
16.

Description:
This error message appears when you try to use two options in a CREATE INDEX statement that are mutually exclusive.

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 executed this way. One of the two options must be removed from the statement.

Versions:
All versions of SQL Server

Example(s):
USE tempdb;
GO
CREATE TABLE #t
(
 c1 INT
);
GO
CREATE INDEX UI_t_c1 ON #t(c1)
  WITH (IGNORE_DUP_KEY = ON);
GO
INSERT INTO #t VALUES (1);
INSERT INTO #t VALUES (1);
GO
DROP TABLE #t;
GO

Remarks:
In the above example we try to crea a non-unique index with the IGNORE_DUP_KEY option. Both options are mutually exclusive and this raises the error.

]]>

Leave a comment

Your email address will not be published.