Applies ToSQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Express - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Web - duplicate (do not use)

Resumen

Esta actualización introduce un nuevo argumento de sugerencia de consulta, usa la sugerencia, que le permite controlar el optimizador de consultas sin credenciales elevadas o sin ser miembro del rol de servidor sysadmin. La sintaxis de esta sugerencia de consulta nueva es similar a la siguiente:

<query_hint > ::={USE HINT(N'key' [ [, ]...n ])}

Esta actualización también presenta las siguientes opciones de sugerencia que se pueden usar con el argumento de sugerencia use .

Alternativa

Marca de seguimiento equivalente

Descripción

Se aplica a

ASSUME_JOIN_PREDICATE_DEPENDS_ON_FILTERS

TF 9476

Hace que SQL Server genere un plan de consultas mediante la hipótesis de contención simple en lugar de la hipótesis de contención básica predeterminada para las combinaciones, en el optimizador de consultas Modelo de estimación de cardinalidad de SQL Server 2014 (12. x) o posterior.

ASSUME_MIN_SELECTIVITY_FOR_FILTER_ESTIMATES

TF 4137

Hace que SQL Server genere un plan con la selectividad mínima al estimar y predicados para los filtros para tener en cuenta la correlación. Este nombre de sugerencia es paralelo a indicador de traza 4137 cuando se usa con el modelo de estimación de cardinalidad de SQL Server 2012 (11. x) y versiones anteriores, y tiene un efecto similar cuando el indicador de seguimiento 9471 se usa con el modelo de estimación de cardinalidad de SQL Server 2014 (12. x) o posterior.

DISABLE_BATCH_MODE_ADAPTIVE_JOINS

Deshabilita las combinaciones adaptables del modo por lotes.

iniciar en SQL Server 2017

DISABLE_BATCH_MODE_MEMORY_GRANT_FEEDBACK

Deshabilita los comentarios de la concesión de memoria en modo por lotes.

iniciar en SQL Server 2017

DISABLE_DEFERRED_COMPILATION_TV

Deshabilita la compilación diferida de la tabla.

iniciar en SQL Server 2019

DISABLE_INTERLEAVED_EXECUTION_TVF

Deshabilita la ejecución intercalada para funciones con valores de tabla de varias instrucciones.

iniciar en SQL Server 2017

DISABLE_OPTIMIZED_NESTED_LOOP

TF 2340

Indica al procesador de consultas que no use una operación de ordenación (ordenación por lotes) para las combinaciones de bucles anidados optimizadas al generar un plan de consultas.

DISABLE_OPTIMIZER_ROWGOAL

TF 4138

Hace que SQL Server genere un plan que no use modificaciones de objetivos de fila con consultas que contengan estas palabras clave:

  • Arriba

  • OPCIÓN (FAST N)

  • POR

  • EXISTE

DISABLE_PARAMETER_SNIFFING

TF 4136

Indica al optimizador de consultas que use la distribución de datos promedio al compilar una consulta con uno o más parámetros. Esta instrucción hace que el plan de consulta sea independiente del valor del parámetro que se usó por primera vez cuando se compiló la consulta. Use esta sugerencia para invalidar la configuración de ámbito de la base de datos PARAMETER_SNIFFING = OFF.

DISABLE_ROW_MODE_MEMORY_GRANT_FEEDBACK

Deshabilita el modo de fila que concede Comentarios.

iniciar en SQL Server 2019

DISABLE_TSQL_SCALAR_UDF_INLINING

Deshabilita la inclusión de UDF escalar.

iniciar en SQL Server 2019

DISALLOW_BATCH_MODE

Deshabilita la ejecución en modo por lotes.

iniciar en SQL Server 2019

ENABLE_HIST_AMENDMENT_FOR_ASC_KEYS

TF 4139

Habilita las estadísticas rápidas generadas automáticamente (enmienda de histograma) para cualquier columna de índice inicial para la que se necesita la estimación de cardinalidad. El histograma que se usa para calcular la cardinalidad se ajustará durante el tiempo de compilación de la consulta para tener en cuenta el valor máximo o mínimo real de esta columna.

ENABLE_QUERY_OPTIMIZER_HOTFIXES

TF 4199

Habilita las revisiones del optimizador de consultas (cambios publicados en las actualizaciones acumulativas y los Service Packs de SQL Server). Use esta sugerencia para reemplazar Configuración de ámbito de base de datos QUERY_OPTIMIZER_HOTFIXES = on.

FORCE_DEFAULT_CARDINALITY_ESTIMATION

TF 9481

Fuerza el uso del optimizador de consultas Modelo de estimación de cardinalidad que corresponde al nivel de compatibilidad de la base de datos actual. Use esta sugerencia para reemplazar Configuración de ámbito de base de datos LEGACY_CARDINALITY_ESTIMATION = activado.

FORCE_LEGACY_CARDINALITY_ESTIMATION

TF 9481

Fuerza el uso del optimizador de consultas Modelo de estimación de cardinalidad de SQL Server 2012 (11. x) y versiones anteriores. Use esta sugerencia para invalidar la configuración de ámbito de la base de datos LEGACY_CARDINALITY_ESTIMATION = on.

QUERY_OPTIMIZER_COMPATIBILITY_LEVEL_n

Fuerza el comportamiento del optimizador de consultas en un nivel de consulta. Este comportamiento se produce como si la consulta se compiló con el nivel de compatibilidad de la base de datos n, donde n es un nivel de compatibilidad de base de datos compatible. Hacer referencia asys.dm_exec_valid_use_hints para obtener una lista de los valores admitidos actualmente para n.

a partir de SQL Server 2017 (14. x) CU10

Para obtener más información, consulte hints (Transact-SQL): query.

Más información

Esta actualización está incluida en el Service Pack 1 para SQL Server 2016.

 

Cada compilación nueva para SQL Server 2016 contiene todas las revisiones y todas las revisiones de seguridad incluidas en la compilación anterior. Le recomendamos que instale la compilación más reciente para SQL Server 2016.

Los escenarios en los que se debe sugerir el comportamiento de optimizador de consultas de SQL Server (QO) son bastante comunes y, tradicionalmente, se solucionan mediante varios indicadores de traza (documentados y sin documentar). Sin embargo, cuando las marcas de seguimiento se establecen globalmente, pueden tener un efecto adverso en otras cargas de trabajo. Además, habilitarlos por sesión no es práctico con las aplicaciones existentes, y habilitarlos por consulta con la opción QUERYTRACEON requiere ser miembro del rol fijo de servidor sysadmin. (Aunque puede evitar este comportamiento utilizando una guía de plan o un procedimiento almacenado, aún se necesitan credenciales con privilegios elevados). Los indicadores de traza se usan para establecer temporalmente características específicas del servidor o para desactivar un comportamiento determinado, por lo que pueden ser difíciles de administrar y comprender. Para obtener información sobre las marcas de seguimiento, vea el tema de indicadores de seguimiento (Transact-SQL) en el sitio web de Microsoft Developer Network (MSDN).

Referencias

Obtenga más información sobre la terminología que Microsoft usa para describir las actualizaciones de software.

¿Necesita más ayuda?

¿Quiere más opciones?

Explore las ventajas de las suscripciones, examine los cursos de aprendizaje, aprenda a proteger su dispositivo y mucho más.

Las comunidades le ayudan a formular y responder preguntas, enviar comentarios y leer a expertos con conocimientos extensos.