Sintomas
Considere o seguinte cenário:
- No SQL Server 2014 ou 2016, você tem várias tabelas, cada uma com uma restrição PRIMARY KEY especificada.
- Você cria uma cadeia em cascata para essas tabelas usando a restrição FOREIGN KEY junto com a ação ON DELETE CASCADE.
- Você cria um gatilho AFTER DELETE para cada tabela.
- Você exclui uma linha da tabela pai. Isso aciona os gatilhos AFTER DELETE e a cadeia de ações ON DELETE CASCADE.
Nesse cenário, os gatilhos podem ocorrer na ordem errada.
Resolução
Esse problema é corrigido nas seguintes atualizações cumulativas para o SQL Server:
Atualização cumulativa 5 para o SQL Server 2016 RTM
Atualização cumulativa 2 para o SQL Server 2016 SP1
Atualização cumulativa 5 para o SQL Server 2014 SP2
Atualização cumulativa 11 para o SQL Server 2014 Service Pack 1
Sobre atualizações cumulativas para o SQL Server
Cada nova atualização cumulativa do SQL Server contém todos os hotfixes e correções de segurança incluídos na atualização cumulativa anterior. Confira as atualizações cumulativas mais recentes para o SQL Server:
Atualização cumulativa mais recente do SQL Server 2016
Atualizações cumulativas mais recentes do SQL Server 2014
StatusA Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".
Referências
Restrições de integridade referencial em cascata
Saiba mais sobre a terminologia que a Microsoft usa para descrever atualizações de software.