2011: Indexhinweise können nicht in einem schemagebundenen Objekt angegeben werden.
Fehlermeldung:
Meldung 2011, Ebene 16, Status 1, Zeile 4
Indexhinweise können nicht in einem schemagebundenen Objekt angegeben werden.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht einen Indexhinweis in einem schemagebundenen Objekt zu verwenden.
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. Der Indexhinweis muss entfernt werden.
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 SUM(UnitPrice*Quantity*(1.00-Discount)) AS Revenue,
OrderDate, ProductID, COUNT_BIG(*) AS MyCount
FROM dbo.[Order Details] AS od WITH (INDEX = 1)
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 wird versucht innerhalb der Sicht, die Verwendung des Index mit der ID 1 der Tabelle [Order Details] zu erzwingen. Dies löst den Fehler aus.