1996: Ein Index mit Erzwingen der PRIMARY KEY-Einschränkung '%1!' kann nicht mithilfe der Option

By Frank Kalis

Posted on Jan 27, 2011 von in 1000-1999

Fehlermeldung:
Meldung 1996, Ebene 16, Status 1, Zeile 1
Ein Index mit Erzwingen der PRIMARY KEY-Einschränkung '%1!' kann nicht mithilfe der Option DROP_EXISTING erstellt werden, wenn die Tabelle einen XML-Index aufweist.

Ebene:
16.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht den Index, der hinter einer PRIMARY KEY Einschränkung liegt per DROP_EXISTING neu zu erstellt, die Tabelle einen XML Index besitzt.

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. Das Statement kann so nicht ausgeführt werden. Der XML Index muss bevor gelöscht werden und anschliessend neu erstellt werden.

Versionen:
Diese Fehlermeldung wurde mit SQL Server 2005 eingeführt.

Beispiele:
USE tempdb;
GO
IF OBJECT_ID('tempdb..#t') > 0
 DROP TABLE #t
GO
CREATE TABLE #t
(
 id INT
 CONSTRAINT CIX_t_id PRIMARY KEY,
 c1 XML
)
GO
CREATE PRIMARY XML INDEX IX_XML_t_c1
    ON #t(c1);
ALTER INDEX CIX_t_id ON #t
DISABLE;
GO
CREATE UNIQUE CLUSTERED INDEX CIX_t_id
    ON #t(id)
  WITH (
   DROP_EXISTING = ON,
   ON_LINE = ON);

Anmerkungen:
Im obigen Beispiel wird versucht, den Index, der die PRIMARY KEY Einschränkung durchsetzt, per DROP_EXISTING neu zu erstellen, während die Tabelle einen XML Index aufweist. Dies löst den Fehler aus.

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

Noch kein Feedback


Formular wird geladen...