Sign in with Microsoft
New to Microsoft? Create an account.

Síntomas

Suponga que tiene una consulta que realiza algunas operaciones de cadena, por ejemplo, concatenación, en columnas CHAR o VARCHAR en Microsoft SQL Server 2014, 2016 y 2017. Imagine la siguiente situación:

  • Concatena las columnas con diferentes intercalaciones que se les asignan.

  • Esas intercalaciones son incompatibles entre sí. Por ejemplo, intenta concatenar una columna que se intercala como Latin1_General_CI_AI con Latin1_General_BIN.

  • El resultado final de la concatenación se asigna a una intercalación específica (incluyendo "database_default") como cuestión de la resolución de conflictos de intercalación.

En este escenario, SQL Server puede devolver una aserción de venta al por menor que indica "comparación no válida debido a ninguna intercalación", y puede recibir algunos mensajes de error similares a los siguientes:

Ubicación: typinfo. cpp:lineNumber Expresión: falso SPID: SPID ID. de proceso: ProcessId Descripción: comparación no válida porque NO hay intercalación.

Msj 3624, nivel 20, estado 1, línea lineNumber Se produjo un error en una comprobación de aserción del sistema. Compruebe el registro de errores de SQL Server para ver los detalles. Por lo general, el error de aserción se debe a un error de software o a daños en los datos. Para comprobar si hay daños en la base de datos, considere la posibilidad de ejecutar DBCC CHECKDB. Si aceptó el envío de volcados a Microsoft durante la instalación, se enviará un minivolcado a Microsoft. Es posible que Microsoft disponga de una actualización en el último Service Pack o en un hotfix del soporte técnico.

Msj 596, nivel 21, estado 1, línea lineNumber No se puede continuar con la ejecución porque la sesión está en el estado de eliminación.

Mensaje 0, nivel 20, estado 0, línea lineNumber

Se ha producido un error grave en el comando actual.  Los resultados, si los hay, se deben descartar.

Causa

Durante la optimización de la consulta, SQL Server intenta calcular cardinales en resultados intermedios de diversas fases de la consulta, por ejemplo, la concatenación. Dado que la resolución de conflictos de intercalación tiene lugar al final, el optimizador de consultas puede no ser consciente de ello e intenta realizar el cálculo de la cardinalidad de la concatenación en una entrada con intercalación contradictoria.

Resolución

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

       Actualización acumulativa 8 para SQL Server 2016 SP1  

       Actualización acumulativa 4 para SQL Server 2017

       Actualización acumulativa 9 para SQL Server 2014 SP2

Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:

Actualización acumulativa más reciente de SQL Server 2016

Actualización acumulativa más reciente de SQL Server 2017

Actualización acumulativa más reciente de SQL Server 2014

Estado

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

Referencias

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

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¿Cuál es tu grado de satisfacción con la calidad del lenguaje?
¿Qué ha afectado a tu experiencia?

¡Gracias por sus comentarios!

×