Sintomi
Considerare lo scenario descritto di seguito:
-
In SQL Server 2014 o 2016 sono disponibili diverse tabelle, ognuna delle quali ha un vincolo PRIMARY KEY specificato.
-
Per creare una catena a cascata per tali tabelle, è possibile usare il vincolo FOREIGN KEY insieme all'azione Elimina a cascata.
-
Si crea un trigger AFTER DELETE per ogni tabella.
-
Si elimina una riga dalla tabella padre. Viene attivato il trigger AFTER DELETE e la catena di azioni ON DELETE CASCADE.
In questo scenario, è possibile che i trigger si verifichino nell'ordine errato.
Risoluzione
Questo problema è stato risolto negli aggiornamenti cumulativi seguenti per SQL Server:
Aggiornamento cumulativo 5 per SQL Server 2016 RTM
Aggiornamento cumulativo 2 per SQL Server 2016 SP1
Aggiornamento cumulativo 5 per SQL Server 2014 SP2
Aggiornamento cumulativo 11 per SQL Server 2014 Service Pack 1
Ogni nuovo aggiornamento cumulativo per SQL Server contiene tutti gli aggiornamenti rapidi e le correzioni di sicurezza inclusi nell'aggiornamento cumulativo precedente. Vedere gli ultimi aggiornamenti cumulativi per SQL Server:
StatoMicrosoft ha confermato che questo problema si verifica nei prodotti elencati nella sezione "Si applica a".
Riferimenti
Vincoli di integrità referenziale a cascata
Informazioni sulla terminologia utilizzata da Microsoft per descrivere gli aggiornamenti software.