KB4465745 - CORRECCIÓN: El error de aserción ocurre cuando ejecuta una instrucción MERGE con una cláusula OUTPUT en SQL Server 2016 y 2017

Se aplica a
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows SQL Server 2016 Service Pack 1 SQL 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 Standard - duplicate (do not use)

Síntomas

Tenga en cuenta el siguiente escenario:

  • Ejecuta una instrucción MERGE que tiene una cláusula OUTPUT dentro de un procedimiento almacenado o un lote de Transact-SQL ad hoc en SQL Server 2016 o 2017 en Windows.
  • La base de datos de destino utiliza BULK_LOGGED o MODELO SIMPLE DE RECUPERACIÓN.
  • Inserta una gran cantidad de datos (por ejemplo, alrededor de 6 000 filas) en una tabla de otra base de datos.

En esta situación, se produce un error de aserción y puede aparecer un mensaje de error similar al siguiente:

Nota

  • Msj 3624, Nivel 20, Estado 1, Número de línea
  • Error en una comprobación de aserción del sistema. Compruebe el registro de errores de SQL Server para obtener más información. Normalmente, un 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ó enviar volcados a Microsoft durante la instalación, se enviará un minivolcado a Microsoft. Una actualización podría estar disponible de Microsoft en el Service Pack más reciente o en una revisión del servicio de soporte técnico.

Resolución

Información sobre la actualización acumulativa:

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

Actualización acumulativa 12 para SQL Server 2017

Actualización acumulativa 4 para SQL Server 2016 SP2

Actualización acumulativa 13 para SQL Server 2016 Service Pack 1

Actualización acumulativa 12 para SQL Server 2016 SP1

Acerca de las actualizaciones acumulativas para SQL Server

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

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

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

Información de revisión a petición:

Este problema se ha corregido en la siguiente revisión a petición para SQL Server:

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Referencias

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