4975: Fehler bei der ALTER TABLE SWITCH-Anweisung.
Fehlermeldung:
Meldung 4975, Ebene 16, Status 1, Zeile 2
Fehler bei der ALTER TABLE SWITCH-Anweisung. Die CHECK-Einschränkung '%1!' in der '%2!'-Quelltabelle und die CHECK-Einschränkung '%3!' in der '%4!'-Zieltabelle weisen unterschiedliche Einstellungen für NOT FOR REPLICATION auf.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, eine ALTER TABLE SWITCH Anweisung auszuführen, bei der Quell- und Zieltabelle unterschiedliche Replikationseinstellungen in einer CHECK Einschränkung 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 Replikationseinstellungen in CHECK Einschränkungen aufweisen.
Versionen:
Diese Fehlermeldung wurde mit SQL Server 2005 eingeführt.
Beispiele:
USE Pubs
GO
SET NUMERIC_ROUNDABORT OFF;
SET ANSI_PADDING,
ANSI_WARNINGS,
CONCAT_NULL_YIELDS_NULL,
ARITHABORT,
QUOTED_IDENTIFIER,
ANSI_NULLS ON;
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
CONSTRAINT chk_myNonPartTable_c0 CHECK NOT FOR REPLICATION (c1<>0)
)
ON myPartScheme (c1);
GO
CREATE TABLE myNonPartTable
(
c1 int
CONSTRAINT chk_myNonPartTable_c1 CHECK(c1<>0)
)
ON [PRIMARY];
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 Quelltabelle eine CHECK Einschränkung besitzt, die als 'NOT FOR REPLICATION' gekennzeichnet ist, wird der Fehler ausgelöst.