4947: Fehler bei der ALTER TABLE SWITCH-Anweisung.

By Frank Kalis

Posted on Feb 20, 2011 von in 4000-4999

Fehlermeldung:
Meldung 4947, Ebene 16, Status 1, Zeile 1
Fehler bei der ALTER TABLE SWITCH-Anweisung. In der '%1!'-Quelltabelle ist kein identischer Index für den '%2!'-Index in der '%3!'-Zieltabelle vorhanden.

Ebene:
16.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, eine ALTER TABLE SWITCH Anweisung auszuführen, bei der Quell- und Zieltabelle unterschiedliche Indizes aufweisen.

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. Quell- und Zieltabelle müssen identische Indizes aufweisen.

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

Beispiele:
USE Pubs
GO
CREATE PARTITION FUNCTION myPartFunction (int)
    AS RANGE LEFT FOR VALUES (1, 10, 100);
GO

CREATE PARTITION SCHEME myPartScheme
    AS PARTITION myPartFunction
   ALL TO ([PRIMARY]);
GO

CREATE TABLE myPartTable
(
 c1 int
)
ON myPartScheme (c1);

GO
CREATE TABLE myNonPartTable
(
 c1 int
)
ON [PRIMARY];
GO
CREATE INDEX IX_myNonPartIndex ON myNonPartTable(c1);
GO
ALTER TABLE myPartTable SWITCH PARTITION 1 TO dbo.myNonPartTable ;
GO

DROP TABLE myNonPartTable, myPartTable;
DROP PARTITION SCHEME myPartScheme;
DROP PARTITION FUNCTION myPartFunction;

Anmerkungen:
Im obigen Beispiel wird versucht in der ALTER TABLE SWITCH Anweisung auszuführen. Da die Zieltabelle aber mit dem Index IX_myNonPartIndex ein Indexobjekt aufweist, welche in der Quelltabelle nicht vorhanden ist, wird der Fehler ausgelöst.

Dieser Eintrag wurde eingetragen von und ist abgelegt unter 4000-4999.

Noch kein Feedback


Formular wird geladen...