The operation failed because an index or statistics with name '%.*ls' already exists on %S_MSG '%.*ls'.

Error Message:
Msg 1913, Level 16, State 1, Line 1
The operation failed because an index or statistics with name ‘%.*ls’ already exists on %S_MSG ‘%.*ls’
.

Severity level:
16.

Description:
This error message appears when you try to create an index while another index with the same name already exists.

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. Index names mustr be unique within a database. The existing index must either be dropped, or the new index must be given another name to execute the statement successfully.

Versions:
All versions of SQL Server

Example(s):
USE tempdb;
IF OBJECT_ID(‘tempdb..#t’) > 0
 DROP TABLE #t
CREATE TABLE #t
(
 c1 INT
)
INSERT INTO #t SELECT 1

CREATE UNIQUE INDEX UI_t_c1 ON #t(c1)
GO
CREATE UNIQUE INDEX UI_t_c1 ON #t(c1)

Remarks:
In the above example we try to create twice an index with UI_t_c1. The second CREATE INDEX statement raises the error.

]]>

Leave a comment

Your email address will not be published.