SQL Server consulta optimizador hotfix traza indicador 4199 modelo de servicio

INTRODUCCIÓN

Versiones de Microsoft SQL Server posteriores a SQL Server 2000 Service Pack 3 (SP3) entregan la mayoría de las revisiones al optimizador de consultas en un estado desactivado de forma predeterminada con el fin de impedir que se vean los clientes existentes de producción prevé que los cambios de plan que podrían producir reducciones de rendimiento. En primer lugar, cada hotfix se entregó en una marca de seguimiento independiente. Posteriormente, esta práctica se cambió para que la mayoría de indicadores se combinaron en un indicador de traza único (4199). Esta nueva práctica se inició a través de varias versiones a partir de las siguientes actualizaciones:
  • SQL Server 2005 Service Pack 3 (SP3) de actualización acumulativa 6
  • Paquete de actualización acumulativa 7 de SQL Server 2008 Service Pack 1 (SP1)
  • SQL Server 2008 R2 (RTM)
El indicador de traza 4199 utilizado para recopilar las revisiones que se han diseñado para convertirse en de forma predeterminada en una versión futura, mientras que otros indicadores de traza se utilizaron para situaciones en las que una corrección no fue diseñado para convertirse en de forma predeterminada en el formulario actual. A partir de RTM de SQL Server de 2016, el valor de COMPATIBILITY_LEVEL de base de datos será sirve para habilitar trace marca las revisiones relacionadas con 4199-de forma predeterminada. Este artículo describe la mecánica y la directiva de revisiones cómo afectan a los planes se entregarán de 2016 de SQL Server y versiones posteriores.

Más información

En SQL Server 2016, traza indicador 4199 las revisiones que se realizan en las versiones anteriores de SQL Server se habilitará en base de datos COMPATIBILITY_LEVEL 130 sin indicador de traza 4199 habilitada. Se utilizará el indicador de traza 4199 para liberar cualquier futura revisión de 2016 de SQL Server para bases de datos mediante el nivel de compatibilidad de 130. Dado que el indicador de traza 4199 se recomienda sólo para los clientes que están viendo los problemas de rendimiento específicos, se recomienda a los clientes para quitar el indicador de traza 4199 después de migrar sus bases de datos en el nivel de compatibilidad más reciente porque el indicador de traza 4199 se reutilizará para futuras revisiones que no se apliquen a la aplicación y podrían hacer que los cambios de rendimiento plan inesperado de un sistema de producción. Esto significa que traza distinta marca 4199 revisiones están habilitadas para cada nivel de compatibilidad es compatible con el lanzamiento de un producto determinado.

Nota: De forma predeterminada, bases de datos creadas en SQL Server 2016 utilice el nivel de compatibilidad de 130 y nueva lógica de optimizador ya habilitado.

La ventaja principal de este modelo es que reduce el riesgo para los sistemas de producción durante el proceso de actualización. Este enfoque separa la instalación de una nueva versión de SQL Server de la habilitación automática de todos los nuevos cambios de procesador de consultas. Dado que las actualizaciones de versiones principales cambian el formato de archivo y no son reversibles, es una buena idea utilizar la opción COMPATIBILITY_LEVEL, ya que esto permite al cliente reducir rápidamente si se encuentra un problema de rendimiento plan inesperado durante una actualización. Si un cliente busca un plan inesperado cambiar que bloquea una actualización de la aplicación, el cliente puede aliviar la situación aplicando una sugerencia de plan adecuado mediante el almacén consulta para forzar el plan anterior, o puede aliviar la situación póngase en contacto con el soporte al cliente de Microsoft para ayudar con el problema para proporcionar una solución o la revisión. Cuando se disminuye todos los problemas, puede continuar la actualización. Los clientes deben integrar esta capacidad en su upgrade planning de 2016, SQL Server.

La tabla siguiente explica el modelo para el indicador de traza 4199 funcionamiento a partir de 2016 de SQL Server.

ConfiguraciónNivel de compatibilidad SQL4199 del indicador de trazaRevisiones del optimizador antes de RTM de SQL Server de 2016Revisiones de Optimizer después de RTM de SQL Server de 2016
1.120ApagadoDeshabilitadoDeshabilitado
2.120esHabilitadoDeshabilitado
3.130ApagadoHabilitado por el nivel de compatibilidadDeshabilitado
4.130esHabilitado por el nivel de compatibilidadHabilitado por el nivel de compatibilidad
Nota: Ajuste nº 3 se recomienda para quienes recién se están actualizando a SQL Server 2016.

Para las versiones principales después de 2016 de SQL Server, Microsoft planea seguir utilizando este modelo de servicio para las revisiones del optimizador. De forma predeterminada, o cada versión, cualquier indicador de traza 4199 revisiones de la versión anterior se habilitará en el siguiente nivel de compatibilidad. Esto significa que será el estado recomendado para los clientes después de que la migración en el nivel de compatibilidad más reciente que el indicador de traza 4199 deshabilitado. Las correcciones más recientes utilizaría el indicador de traza 4199 para permitir correcciones para los clientes que tienen que habilitar las revisiones específicas de una aplicación. Se recomienda a los clientes para deshabilitar el indicador de traza 4199 después de actualiza una aplicación en el nivel de compatibilidad más reciente para evitar cambios del optimizador de futuros inesperados habilitadas inesperadamente en una aplicación.

Nota: Mientras que muchas revisiones de optimizer están habilitadas en el indicador de traza 4199, algunos utilizan otros indicadores de traza. El indicador de traza 4199 indicadores de traza históricamente cubiertos que son ampliamente aplicables y es probable que se activan de forma predeterminada en una versión futura. Indicadores de traza alternativos se utilizan en las revisiones donde las condiciones son muy específicas a sólo unos pocos clientes, la solución puede producir reducciones de rendimiento en otros tipos de aplicaciones, o donde la funcionalidad interna puede ver los cambios antes de que esté listo para convertirse en habilitado para todos los usuarios. Microsoft continuará utilizar otros indicadores de traza según sea necesario para el producto de servicio.

Nota: En este artículo se centra en el modelo para liberar el indicador de traza 4199 revisiones en el nivel de compatibilidad más reciente del producto más reciente. (En el momento de publicación, esto es 2016 de SQL Server). Revisiones del optimizador pueden liberarse en versiones anteriores de salida al mercado de SQL Server o en niveles de compatibilidad inferiores (120 o anteriores) de 2016 de SQL Server. Microsoft evaluará cada caso y determinar si se debe utilizar el indicador de traza 4199 o un indicador de traza diferente. Debido a cambios no hotfix también están habilitadas cuando se realiza un movimiento a un nivel de compatibilidad más adelante, no hay ninguna promesa específica que no se producirá ningún cambio de plan durante una actualización (con o sin el indicador de traza 4199). Los clientes siempre deben probar los cambios en el nivel de compatibilidad con cuidado para aplicaciones de producción y deben utilizar tecnologías de mitigación, como el almacén de la consulta, si hay un problema de rendimiento relacionado de elección del plan.

Como referencia, la tabla siguiente muestra los indicadores de traza que se utilizaron para las revisiones del procesador de consultas antes de la introducción del indicador de traza 4199.
Artículo de Microsoft Knowledge BaseIndicador de traza
3185304101
9401284102
9199054103
9203464104
9203474105
9224384106
9238494107
9260244108
9267734109
9337244110
9340654111
9467934115
9508804116
9484454117
9426594119
9539484120
9424444121
9460204122
9482484124
9498544125
9590134126
9535694127
955694
957872
4128
9585474129
9566864131
9580064133
9607704135*

SQL Server 2005


La corrección para este problema se publicó primero en la actualización acumulativa 6 para SQL Server 2005 Service Pack 3. 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:
974648 acum actualizar paquete 6 para el Service Pack 3 de SQL Server 2005
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 versión anterior de SQL Server 2005. 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:
960598 el SQL Server 2005 crea que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 3
Las revisiones de Microsoft SQL Server 2005 se crean para determinados service Pack de SQL Server. Debe aplicar una revisión de Service Pack 3 de SQL Server 2005 a una instalación de SQL Server 2005 Service Pack 3. 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

La corrección para este problema en primer lugar se publicó en la actualización acumulativa 7. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
973601 acum actualizar paquete 7 para SQL Server 2008
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:
956909 the SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008

SQL Server 2008 SP1


La corrección para este problema se publicó primero en la actualización acumulativa 7 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:
979065 acum actualizar paquete 7 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. 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:
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 R2

En la versión de SQL Server 2008 R2, el indicador de traza 4135 se omite inadvertidamente en la lista de los indicadores de traza puede ser controlado por - T4199. Sin embargo, esto se ha corregido en la actualización acumulativa 1 de SQL Server 2008 R2. Así, para esta generación y para SQL Server 2005 y ediciones compatibles de SQL Server 2008, - T4199 será suficiente para habilitar este y otros indicadores de traza que se enumeran en este artículo.

SQL Server 2012 y versiones posteriores

El indicador de traza 4199 se incluye en las versiones de SQL Server 2012 y versiones posteriores.

Cómo habilitar el indicador de traza 4199

Puede habilitar el indicador de traza 4199 al inicio o en una sesión de usuario. Este indicador de traza tiene efecto de nivel global o de nivel de sesión. Para habilitar el indicador de traza 4199, utilice el comando DBCC TRACEON o – T 4199 como parámetro de inicio.

Si se utiliza DBCC TRACEON\TRACEOFF esto no vuelve a generar un nuevo plan almacenado en caché para los procedimientos almacenados. Planes podrían ser en caché que se crearon sin el indicador de traza.

Para obtener información detallada acerca de cómo activar o desactivar los indicadores de traza y explicaciones de los indicadores de traza global y de nivel de sesión, consulte los siguientes temas en libros en pantalla de SQL Server:

Referencias


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
Propiedades

Id. de artículo: 974006 - Última revisión: 13 ene. 2017 - Revisión: 1

Comentarios