Ознаки
Розглянемо такий сценарій:
-
У SQL Server 2014 або 2016, у вас є кілька таблиць, кожна з яких має вказане обмеження ПЕРВИННОГО КЛЮЧА.
-
Ви створюєте Каскадне ланцюжок для цих таблиць за допомогою обмеження зовнішнього ключа разом із ДІЄЮ "видалити каскадну дію".
-
Після запуску видалення для кожної таблиці створюється тригер.
-
Ви видаляєте рядок із батьківської таблиці. Ця дія запускає тригери "після видалення" та "після видалення КАСКАДНОГО ланцюжка дій".
У цьому сценарії тригери можуть виникати в неправильному порядку.
Спосіб вирішення
Ця проблема усунена в таких сукупних оновлень для SQL Server:
Сукупне оновлення 5 для SQL Server 2016 RTM
Сукупне оновлення 2 для SQL Server 2016 SP1
Сукупне оновлення 5 для SQL Server 2014 SP2
Сукупне оновлення 11 для SQL Server 2014 із пакетом оновлень 1
Кожне нове Сукупне оновлення для SQL Server містить усі виправлення виправлень і виправлень, які були включені до попереднього сукупного оновлення. Ознайомтеся з найновішими сукупними оновленнями для сервера SQL Server:
СтанКорпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "застосовується до".
Посилання
Каскадне обмеження цілісності даних
Відомості про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.