4937: Fehler bei der ALTER TABLE SWITCH-Anweisung.

By Frank Kalis

Posted on Dez 17, 2010 von in 4000-4999

Fehlermeldung:
Meldung 4937, Ebene 16, Status 1, Zeile 3
Fehler bei der ALTER TABLE SWITCH-Anweisung. Die '%1!'-Tabelle weist die Sicht '%2!' mit Schemabindung auf.

Ebene:
16.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, eine ALTER TABLE SWITCH Anweisung auszuführen, bei der eine der beteiligten Tabellen eine schemagebundene View aufweist.

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 können keine schemagebundenen Views 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

IF OBJECT_ID ('dbo.NonPartView', 'View') > 0
   DROP VIEW dbo.NonPartView;
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 VIEW dbo.NonPartView
WITH SCHEMABINDING
AS
SELECT c1
  FROM dbo.myNonPartTable
GO
CREATE UNIQUE CLUSTERED INDEX cix_NonPartView
    ON dbo.NonPartView (c1);
GO


ALTER TABLE myPartTable SWITCH PARTITION 1 TO dbo.myNonPartTable ;
GO
DROP VIEW NonPartView
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 eine schemagebundene Sicht aufweist, wird der Fehler ausgelöst.

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

Noch kein Feedback


Formular wird geladen...