2009-05-19 9 views
3

Ich habe versucht, einen Index für eine Sicht in Sql Server 2005 hinzufügen und ich habe diesen Fehler: "Kann den Index für die Ansicht 'AllAssignmentNotes' nicht erstellen, da die Ansicht nicht schemagebunden ist."Indizierte Sicht in Sql Server 2005 Fehler

Ich wollte nicht zu viele Informationen hier, da es Überlastung sein könnte. Ich frage mich nur, ob mir jemand helfen könnte.

Ich ging auf die URL der Fehler gab mir und brachte mich nirgends. Der vollständige Fehler ist unten.

Ich weiß, dass Sie keine wirkliche Antwort geben können, weil ich Ihnen nicht alle Informationen gegeben habe, meine Entschuldigung.

TITLE: Microsoft SQL Server Management Studio 
------------------------------ 

Create failed for Index 'IX_AssignmentId'. (Microsoft.SqlServer.Smo) 

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.4035.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Index&LinkId=20476 

------------------------------ 
ADDITIONAL INFORMATION: 

An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo) 

------------------------------ 

Cannot create index on view 'AllAssignmentNotes' because the view is not schema bound. (Microsoft SQL Server, Error: 1939) 

For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.4035&EvtSrc=MSSQLServer&EvtID=1939&LinkId=20476 

------------------------------ 
BUTTONS: 

OK 
------------------------------ 

Antwort

5

Genau wie der Fehler sagt, können Sie keinen Index für eine Ansicht haben, die nicht an das Schema gebunden ist. Um schemabind verwenden die Ansicht

create view with schemabinding. 

alle int der Ansicht referenzierten Tabellen müssen in vollem Umfang mit dem Schema quallified werden, das heißt dbo.table, nicht nur Tisch

1

Sie Unter der Annahme erstellt, um Ihre Ansicht mit SCHEMA dann seine möglichen seine die Verbindungseinstellungen diese SET-Optionen auf ON gesetzt werden muss, wenn die CREATE INDEX-Anweisung ausgeführt wird:

ANSI_NULLS 
ANSI_PADDING 
ANSI_WARNINGS 
ARITHABORT 
CONCAT_NULL_YIELDS_NULL 
QUOTED_IDENTIFIERS 

Die NUMERIC_ROUNDABORT Option muss auf AUS gestellt werden.

+0

SQL Server sollte einen beschreibenden Fehler wie „falsche Einstellungen:‚ANSI_NULLS“geben in diesen Fällen nie einen Fehler 1939 –

Verwandte Themen