2720: '%2!' (%1!) kann nicht an ein Schema gebunden werden, weil damit auf das '%3!'-Systemobjekt

By Frank Kalis

Posted on Apr 4, 2011 von in 2000-2999

Fehlermeldung:
Meldung 2720, Ebene 16, Status 1, Zeile 4
'%2!' (%1!) kann nicht an ein Schema gebunden werden, weil damit auf das '%3!'-Systemobjekt verwiesen wird.

Ebene:
16.

Beschreibung:
Diese Fehlermeldung erscheint, wenn eine Sicht, die auf SQL Server Systemobjekte zugreift, an ein Schema gebunden werden soll.

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. SQL Server Systemobjekte können in Sichten nicht verwendet werden, wenn die Sicht indiziert werden soll

Versionen:
Alle Versionen von SQL Server.

Beispiele:
USE Northwind;
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.MyOrderView', 'View') > 0
   DROP VIEW dbo.MyOrderView;
GO
CREATE VIEW dbo.MyOrderView
WITH SCHEMABINDING
AS
SELECT od.OrderID, od.UnitPrice*od.Quantity AS Revenue,
    o.OrderDate, od.ProductID
  FROM dbo.[Order Details] AS od
  JOIN dbo.Orders AS o
    ON od.OrderID = o.OrderID
    CROSS JOIN sys.columns
GO

CREATE UNIQUE CLUSTERED INDEX cix_MyOrderView
    ON dbo.MyOrderView (OrderID, OrderDate, ProductID);
GO

Anmerkungen:
Im obigen Beispiel wird versucht eine Sicht, die auf die SQL Server Systemtabelle sys.columns Systemtabelle verweist, an ein Schema zu binden. Dies löst den Fehler aus.

Dieser Eintrag wurde eingetragen von und ist abgelegt unter 2000-2999.

Noch kein Feedback


Formular wird geladen...