REVISIÓN: Un rendimiento deficiente y algunos errores de programador sin ofrecimiento ocasionales producen cuando crea una vista compleja que hace referencia a una gran cantidad de vistas anidadas o las tablas en SQL Server 2008 o en SQL Server 2008 R2

Se aplica a: SQL Server 2008 DeveloperSQL Server 2008 EnterpriseSQL Server 2008 Express

Microsoft distribuye Microsoft SQL Server 2008 o SQL Server 2008 R2 corrige como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 o SQL Server 2008 R2.

Síntomas


Cuando crea una vista compleja en SQL Server 2008 o en SQL Server 2008 R2, un rendimiento deficiente y algunos errores de programador sin ofrecimiento ocasionales se producen. Este problema normalmente se produce cuando la instrucción CREATE VIEW hace referencia a una gran cantidad de vistas anidadas o las tablas.

Por ejemplo, una instrucción SELECT de la instrucción CREATE VIEW utiliza hasta un 400 tablas o varios a la vez y selecciona 87 columnas de cada una de esas tablas.

Causa


Este problema se produce porque la base de código de SQL Server realiza la comparación de cadena directamente por los nombres de objeto.

Cuando se ejecuta el módulo complejo instrucción de definición de datos DDL (lenguaje), SQL Server tiene que crear una lista de dependencias de los objetos implicados. Sin embargo, la base de código de SQL Server realiza comparaciones de cadenas directamente para los nombres de objeto. Por lo tanto, se produce Inanición de CPU de los subprocesos de trabajo que se ejecutan en el mismo programador y se produce un error de programador sin ofrecimiento.

Solución


Información de actualización acumulativa

SQL Server 2008 R2

En primer lugar, la corrección para este problema se publicó en 5 de actualización acumulativa. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2438347 paquete de actualización acumulativa 5 para SQL Server 2008 R2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 R2. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
981356 el SQL Server 2008 R2 se basa que se publicaron después del lanzamiento de SQL Server 2008 R2

SQL Server 2008 Service Pack 1

La corrección para este problema se publicó en primer lugar en 10 de actualización acumulativa para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2279604 acum actualizar paquete 10 para SQL Server 2008 Service Pack 1
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
970365 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 1
Las revisiones de Microsoft SQL Server 2008 se crean para determinados service Pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 1 en una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el próximo service pack de SQL Server.

SQL Server 2008 Service Pack 2

La corrección para este problema se publicó primero en la actualización acumulativa 1 para SQL Server 2008 Service Pack 2. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2289254 acum actualización 1 para SQL Server 2008 Service Pack 2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
2402659 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 2

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias


Para obtener más información sobre el modelo de servicio Incremental de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

935897 un modelo de servicio Incremental está disponible en el equipo de SQL Server para entregar revisiones para problemas detectados

Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

822499 Nuevo esquema de nomenclatura para los paquetes de actualización de software de Microsoft SQL Server
Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft