1939: %1! kann für die '%2!'-Sicht nicht erstellt werden, da die Sicht nicht schemagebunden ist.

By Frank Kalis

Posted on Dez 5, 2010 von in 1000-1999

Fehlermeldung:
Meldung 1939, Ebene 16, Status 1, Zeile 2
%1! kann für die '%2!'-Sicht nicht erstellt werden, da die Sicht nicht schemagebunden ist.

Ebene:
16.

Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht, eine indizierte Sicht zu erstellen, die nicht schemagebunden 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. Ein Index auf einer Sicht kann nur dann erstellt werden, wenn die Sicht schemagebunden erstellt wurd.

Versionen:
Alle Versionen von SQL Server (ab SQL Server 2000).

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 SUM(UnitPrice*Quantity*(1.00-Discount)) AS Revenue,
    OrderDate, ProductID, COUNT_BIG(*) AS MyCount
  FROM dbo.[Order Details] AS od
  JOIN dbo.Orders AS o
    ON od.OrderID = o.OrderID
 GROUP BY OrderDate, ProductID;
GO

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

Anmerkungen:
Im obigen Beispiel wurde die Sicht MyOrderView nicht schemagebunden erstellt. Dies führt beim nachgelagerten CREATE INDEX Statement zu einem Fehler.

Dieser Eintrag wurde eingetragen von und ist abgelegt unter 1000-1999.

Noch kein Feedback


Formular wird geladen...