4957: Fehler bei der '%1!'-Anweisung.
Fehlermeldung:
Meldung 4957, Ebene 16, Status 3, Zeile 1
Fehler bei der '%1!'-Anweisung, weil der Ausdruck, der die Partitionsnummer für das %2!-Objekt '%3!' identifiziert, nicht vom Typ 'integer' ist.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, eine ALTER TABLE SWITCH Anweisung auszuführen, bei der Wert für die Angabe der Partitionsnummer nicht vom Typ Integer ist.
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. Die Angabe der Partitionsnummer muss vom Typ Integer sein.
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
ALTER TABLE myPartTable SWITCH PARTITION 'a' 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 Angabe der Partitionsnummer 'a' nicht vom Typ Integer ist und auch nicht in diesen konvertiert werden kann, wird der Fehler ausgelöst.