REVISIÓN: Un rendimiento deficiente al ejecutar una consulta que contiene correlacionadas predicados y en 2008 de SQL Server, en SQL Server 2008 R2 o en SQL Server 2012

Seleccione idioma Seleccione idioma
Id. de artículo: 2658214 - Ver los productos a los que se aplica este artículo
Microsoft distribuye Microsoft SQL Server 2008 R2 o Microsoft SQL Server 2008 o Microsoft SQL Server 2012 se corrige en un archivo descargable. Dado que las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y publicación de la actualización de todas las actualizaciones de seguridad incluidas en el anterior SQL Server 2008 R2 o SQL Server 2008 o Microsoft SQL Server 2012.
Expandir todo | Contraer todo

En esta página

Síntomas

Considere el siguiente escenario. Ejecutar una consulta que contenga varios predicados y en Microsoft SQL Server 2008, en Microsoft SQL Server 2008 R2 o en Microsoft SQL Server 2012. Las condiciones de los predicados y están correlacionadas. En este escenario, experimenta un rendimiento deficiente de SQL Server 2008. Por ejemplo, este problema se produce cuando se ejecuta una consulta similar al siguiente:
(column1 = constant1 or column1 = constant2 or ?) and (column2 = constant3 or column2 = constant4 or ?) and ?

Causa

Este problema se produce porque el optimizador de consultas selecciona un plan de consulta poco eficiente si la consulta contiene predicados correlacionadas de AND . Cuando el número de filas estimado cumple las condiciones de un predicado AND , SQL Server se supone que todas las condiciones son independientes. Si las condiciones se correlacionan, SQL Server subestima la cardinalidad de los predicados AND .

Solución

Para resolver este problema, aplique la siguiente actualización acumulativa. Después de aplicar la actualización, debe habilitar el indicador de traza 4137 para agregar la nueva lógica para la estimación de la cardinalidad de los predicados AND .

NotaEsta actualización se aplica sólo a los predicados de filtro.

Información de actualización acumulativa

Service Pack 3 de SQL Server 2008

La solución a este problema se publicó en primer lugar en esta actualización acumulativa para SQL Server 2008 Service Pack 3. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2738350 Paquete de actualización acumulativa 7 para SQL Server 2008 Service Pack 3
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones incluidas en el anterior SQL Server 2008 Service Pack 3. Se recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2629969 El SQL Server de 2008 de generaciones que se publicaron después del lanzamiento de Service Pack 3 de SQL Server 2008

SQL Server 2012

La solución a este problema se publicó primero en la actualización acumulativa de 1 para SQL Server 2012. Para obtener más información acerca de este paquete, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2679368 Paquete de actualización acumulativa 1 para SQL Server 2012
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones incluidas en el anterior 2012 de SQL Server. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2692828 Se basa el 2012 de SQL Server que se publicaron después del lanzamiento de SQL Server 2012
Debe aplicar una revisión de 2012 de SQL Server a una instalación de SQL Server 2012.

SQL Server 2008 R2 Service Pack 1

La solución a este problema en primer lugar se publicó en 5 de actualización acumulativa para SQL Server 2008 R2 Service Pack 1. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2659694 Paquete de actualización acumulativa 5 para SQL Server 2008 R2 Service Pack 1
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones incluidas en el anterior de SQL Server 2008 R2. Se recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567616 SQL Server 2008 R2 generaciones que se publicaron después del lanzamiento de SQL Server 2008 R2 Service Pack 1

Service Pack 2 de SQL Server 2008

La solución a este problema en primer lugar se publicó en la actualización acumulativa 8 para SQL Server 2008 Service Pack 2. Para obtener más información acerca de este paquete, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2648096 Paquete de actualización acumulativa 8 para SQL Server 2008 Service Pack 2
Nota Como las compilaciones son acumulativas, cada nueva versión de revisión contiene todas las revisiones y revisión de todas las revisiones incluidas en el 2008 de SQL Server anterior. Microsoft recomienda que considere la posibilidad de aplicar la versión más reciente de revisión que contenga esta revisión. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2402659 El SQL Server de 2008 de generaciones que se publicaron después del lanzamiento de SQL Server 2008 Service Pack 2
Microsoft SQL Server 2008 revisiones se crean para determinados SQL Server service Pack. Debe aplicar una revisión de SQL Server 2008 Service Pack 2 a una instalación de SQL Server 2008 Service Pack 2. De forma predeterminada, cualquier revisión suministrada en un service pack de SQL Server se incluye en el siguiente service pack de SQL Server.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se refiere a:".

Referencias

Para obtener más información sobre el modelo de servicio Incremental para SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
935897 Un modelo Incremental de servicio está disponible en el equipo de SQL Server para entregar revisiones 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:
822499Esquema 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

Propiedades

Id. de artículo: 2658214 - Última revisión: lunes, 17 de septiembre de 2012 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
Palabras clave: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2658214 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 2658214

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com