Applies ToSQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2019 on Windows

Síntomas

Suponga que tiene una tabla con una restricción de clave externa configurada para eliminarse en cascada y las estadísticas de la columna de clave externa no abarcan todo el rango de los valores de clave de la tabla (por ejemplo: porque las estadísticas no se actualizaron después de que la distribución de datos cambie en la tabla). En este escenario, al intentar eliminar una fila correspondiente a un valor clave no representado en el histograma de estadísticas y el optimizador de consultas está usando la estimación de cardinalidad predeterminada, la operación de eliminación es más lenta de lo esperado. Es posible que también observe que se usa una operación de examen de índice para buscar las filas coincidentes en la tabla de referencia.

Estado

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

Resolución

Este problema se ha corregido en las siguientes actualizaciones acumulativas para SQL Server:

Nota: Esta corrección solo está habilitada al activar las revisiones de optimización (ya sea a través de la opción de configuración de ámbito de la base de datos, sugerencia de consulta o indicador de seguimiento 4199).

Acerca de las actualizaciones acumulativas para SQL Server:

Cada nueva actualización acumulativa de SQL Server contiene todas las revisiones y todas las correcciones de seguridad que se incluyeron con la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:

Solución

Para resolver este problema, utilice uno de los métodos siguientes:

  • Use la estimación de cardinalidad heredada. Para obtener más información, vea Estimación de cardinalidad (SQL Server).

  • Quite la eliminación en cascada de la definición de clave externa y ejecute la operación de eliminación mediante JOIN entre tablas principales y secundarias para lograr el equivalente de eliminación en cascada.

  • Actualice las estadísticas en la tabla principal con FULLFOS antes de eliminar datos.

Referencias

Obtenga información sobre la terminología que usa Microsoft 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.