web-dev-qa-db-fra.com

La vue n'est pas un schéma lié?

J'ai une requête SELECT pour récupérer des données des tables. Cela fonctionne bien, mais lorsqu'il y a une condition pour sélectionner des valeurs 3, il ne donne pas de résultat. Message d'erreur;

Query processor ran out of Internal resources

J'ai examiné à travers l'index semble bien fonctionner, puis j'ai créé une vue avec cette instruction SELECT, mais je n'ai pas pu créer un index. Message d'erreur;

View is not schema bound

15
Manoj

Afin de créer une vue indexée, la vue doit être schéma liée aux entités qu'il s'agit d'une vue.

Pour faire un schéma d'affichage lié, spécifiez simplement simplement l'utilisation WITH SCHEMABINDING Dans la vue CREATE/UPDATE requête, par exemple:

CREATE VIEW MyView
WITH SCHEMABINDING 
AS
-- SELECT

Voir Ce lien Pour plus d'informations sur la liaison de schéma ou la page MSDN sur la page Créer une vue .

Cependant, d'après ce que vous avez dit, je ne pense pas que la vue indexée vous aidera nécessairement à vous aider - le message "Processeur de requête a manqué de ressources internes" signifie que le processeur de requête n'a pas réussi à produire un plan d'exécution pour votre requête, que je devinerais seulement arrive avec des requêtes extrêmement complexes.

Vous devriez essayer de réduire la complexité de votre requête en quelque sorte.

29
Justin

Je suppose que vous essayez de créer l'index sur la vue au lieu des tables sous-jacentes. Si vous avez vraiment besoin d'indexer la vue, cela doit répondre à ces critères:

http://technet.microsoft.com/en-us/library/cc917715.aspx

6
JasonHorner