10140: Das %1!-Objekt kann für die '%2!'-Sicht nicht erstellt werden, weil die Sicht einen
Fehlermeldung:
Meldung 10140, Ebene 16, Status 1, Zeile 2
Das %1!-Objekt kann für die '%2!'-Sicht nicht erstellt werden, weil die Sicht einen Tabellenhinweis enthält. Entfernen Sie den Hinweis.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn in einer indizierten Sicht einen Tabellehinweis verwendet 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. Der Tabellenhinweis 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 TOP 100 od.UnitPrice*od.Quantity AS Revenue,
o.OrderDate, od.ProductID
FROM dbo.[Order Details] AS od
JOIN dbo.Orders AS o WITH (NOLOCK)
ON od.OrderID = o.OrderID
ORDER BY o.OrderDate
GO
CREATE UNIQUE CLUSTERED INDEX cix_MyOrderView
ON dbo.MyOrderView (OrderDate, ProductID);
GO
Anmerkungen:
Im obigen Beispiel soll der Tabellenhinweis NOLOCK für die Tabelle dbo.Orders verwendet werden. Dies löst den Fehler.