Cannot drop non-clustered index '%.*ls' using drop clustered index clause.

Error Message:
Msg 3748, Level 16, State 1, Line 1
Cannot drop non-clustered index ‘%.*ls’ using drop clustered index clause.

Severity level:
16.

Description:
This error message appears when you try to drop a nonclustered index with DROP INDEX options reserved for clustered indices.

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 remove those options from the DROP INDEX command that apply only to clustered indices.

Versions:
All versions of SQL Server.

Example(s):
USE tempdb;
GO
IF OBJECT_ID(‘tempdb..t’) > 0
 DROP TABLE t
GO
CREATE TABLE t
(
 id INT
)
GO
CREATE NONCLUSTERED INDEX IX_t_id ON t(id)
GO
DROP INDEX IX_t_id ON t
 WITH (MOVE TO “default”)

Remarks:
In the above example we try to drop a nonclustered index via DROP INDEX command with the MOVE TO option. Because this option is reserved for clustered indices only, the error is raised.

]]>

Leave a comment

Your email address will not be published.