1925: Ein gruppierter Index kann mit der Option DROP_EXISTING nicht in einen nicht gruppierten Index

By Frank Kalis

Posted on Jan 13, 2011 von in 1000-1999

Fehlermeldung:
Meldung 1925, Ebene 16, Status 2, Zeile 1
Ein gruppierter Index kann mit der Option DROP_EXISTING nicht in einen nicht gruppierten Index konvertiert werden.

Ebene:
16.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, einen clustered Index durch die Option DROP_EXISTING in einen nonclustered Index umzuwandeln.

Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.

Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Die Option DROP_EXISTING kann nicht in diesem Zusammenhang verwendet werden. Man muß stattdessen den clustered Index erst löschen und anschließend den nonclustered Index in zwei separierten Statement erstellen.

Versionen:
Alle Versionen von SQL Server.

Beispiele:
USE tempdb;
GO
CREATE TABLE t
(
 c1 INT
)
GO
CREATE CLUSTERED INDEX CIX_t_c1
    ON dbo.t(c1)
  WITH (FILLFACTOR = 80,
        PAD_INDEX = ON,
        DROP_EXISTING = OFF);
GO
CREATE NONCLUSTERED INDEX CIX_t_c1
    ON dbo.t(c1)
  WITH (FILLFACTOR = 80,
        PAD_INDEX = ON,
        DROP_EXISTING = ON);
GO
DROP TABLE t

Anmerkungen:
Im obigen Beispiel wird im zweiten CREATE INDEX Statementversucht, den clustered Index CIX_t_c1 durch die DROP_EXISTING Option in einen nonclustered Index zu ändern. Dies ist nicht zulässig und löst den Fehler aus.

Dieser Eintrag wurde eingetragen von und ist abgelegt unter 1000-1999.

Noch kein Feedback


Formular wird geladen...