KB4009823 - CORRECCIÓN: después de eliminar, los desencadenadores se producen en el orden incorrecto en la cadena de acciones ON DELETE CASCADE en SQL Server 2014 o 2016

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

Síntomas

Tenga en cuenta el siguiente escenario:

  • En SQL Server 2014 o 2016, tiene varias tablas, cada una de las cuales tiene especificada una restricción de CLAVE PRINCIPAL.
  • Cree una cadena en cascada para esas tablas mediante la restricción FOREIGN KEY junto con la acción EN CASCADA ON DELETE .
  • Cree un desencadenador AFTER DELETE para cada tabla.
  • Elimina una fila de la tabla principal. Esto desencadena los desencadenadores AFTER DELETE y la cadena de acciones ON DELETE CASCADE.

En esta situación, es posible que los desencadenadores se produzcan en un orden incorrecto.

Resolución

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

Actualización acumulativa CU 38 para SQL Server 2016 RTM

Actualización acumulativa 2 para SQL Server 2016 SP1

Actualización acumulativa 5 para SQL Server 2014 SP2

Actualización acumulativa 11 para SQL Server 2014 Service Pack 1

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 en la actualización acumulativa anterior. Consulte las actualizaciones acumulativas más recientes para SQL Server:

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

Actualizaciones acumulativas más recientes para SQL Server 2014

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

Referencias

Restricciones de integridad referencial en cascada

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