2010-07-23 75 views
14

Tengo una consulta de selección para recuperar datos de tablas. Está funcionando bien, pero cuando hay una condición para seleccionar 3 valores, no está dando resultado. Mensaje de error;La vista no está vinculada al esquema?

Query processor ran out of Internal resources

Miré a través del índice parece funcionar bien, entonces creé vista con esa instrucción de selección, pero no pudo crear un índice. Mensaje de error;

View is not schema bound

Respuesta

28

el fin de crear una vista indizada la vista tiene que ser esquema unida a las entidades que se trata de una vista sobre.

Para realizar una vista de esquema obligado, simplemente especifique simplemente utilizar WITH SCHEMABINDING en la vista CREATE/UPDATE consulta, por ejemplo:

CREATE VIEW MyView 
WITH SCHEMABINDING 
AS 
-- SELECT 

Ver this link para más información sobre el esquema de unión, o la página de MSDN en la CREATE VIEW declaración.

Sin embargo, por lo que ha dicho, no creo que la vista indizada le ayude necesariamente: el mensaje "Query Process Processer se quedó sin recursos internos" significa que el procesador de consultas no pudo generar un plan de ejecución para su consulta. Supongo que solo sucede con consultas extremadamente complejas.

Debe intentar reducir la complejidad de su consulta de alguna manera.

+0

La vinculación de esquema solo permite nombres de dos partes. Esto significa que solo podemos enlazar esquemas dentro de nuestra base de datos. Esto también significa que si quisiéramos usar una Vista indizada en la Vista de base de datos cruzada, tampoco podríamos hacer eso. –

+0

esa restricción tiene mucho sentido, ya que un índice es aproximadamente una copia local de punteros a los datos. Si el objetivo es un servidor remoto, el servidor local no tendría idea de qué cambiaba el índice entre la última vez que se actualizó el índice y cuándo intentó obtener los datos a través de la red. –

Cuestiones relacionadas