SQL Server consulta optimizador hotfix traza indicador 4199 modelo de servicio

Se aplica a: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Enterprise EditionMicrosoft SQL Server 2005 Standard X64 Edition

INTRODUCCIÓN


Versiones posteriores de SQL Server 2000 Service Pack 3 (SP3) de Microsoft SQL Server entregan mayoría de las revisiones para el optimizador de consultas en un estado desactivado de forma predeterminada para evitar la producción existente podrían provocar que los clientes vean el plan previsto que cambia 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 volverá a utilizar para corrección posterior que no se apliquen a la aplicación y podría 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. Tnivel de compatibilidad más reciente ya permite todas las correcciones anteriores bajo el indicador de traza 4199. Esto significa que actualizar una base de datos en el nivel de compatibilidad más reciente y quitar el indicador de traza 4199 aún permiten todas las correcciones que se aprovecha una carga de trabajo antes de la actualización de la base de datos, no sólo nuevas revisiones. Si en un momento posterior experimentar problemas de rendimiento de consultas de los clientes, experimento con la habilitación de la base de datos QUERY_OPTIMIZER_HOTFIXES o consulta sugerencia option ENABLE_QUERY_OPTIMIZER_HOTFIXES en un entorno de prueba para determinar si los problemas son el ámbito resolver. Consulte la documentación sobre QUERY_OPTIMIZER_HOTFIXES

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 Microsoft Customer Asistencia 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ón Nivel de compatibilidad SQL 4199 del indicador de traza Revisiones del optimizador antes de RTM de SQL Server de 2016 Revisiones de Optimizer después de RTM de SQL Server de 2016
1. 120 Desactivado Deshabilitado Deshabilitado
2. 120 Activado Habilitada Deshabilitado
3. 130 Desactivado Habilitado por el nivel de compatibilidad Deshabilitado
4. 130 Activado Habilitado por el nivel de compatibilidad Habilitado 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. Que actualizar para el nivel de compatibilidad más reciente y quitar el indicador de traza 4199 todavía permiten los corrige que estaba aprovechando una carga de trabajo antes de las revisiones de actualización, pero no de nuevas.

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. Los indicadores de traza alternativos se utilizan en las revisiones cuando las condiciones son muy específicas a sólo unos pocos clientes, donde la revisión puede provocar reducciones de rendimiento en otros tipos de aplicaciones, o cuando la funcionalidad interna puede ver los cambios antes de que esté listo para se habilitarán 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 Base Indicador de traza
318530 4101
940128 4102
919905 4103
920346 4104
920347 4105
922438 4106
923849 4107
926024 4108
926773 4109
933724 4110
934065 4111
946793 4115
950880 4116
948445 4117
942659 4119
953948 4120
942444 4121
946020 4122
948248 4124
949854 4125
959013 4126
953569 4127
955694957872 4128
958547 4129
956686 4131
958006 4133
960770 4135*

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:
Paquetes de actualización de 822499 nuevo esquema de nomenclatura para 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