Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Приемем, че се опитате да изтриете данни от таблица, и данните е посочено в други таблици в Microsoft SQL Server 2016 и 2017. If разглеждате заявка план за изпълнение, можете да го използвате външен ключ препратка проверка оператор видите .В тази ситуация може да получите следното съобщение за грешка дори се ред изтрит не е посочен в други таблици:

MSG 547, ниво 16, 0, ред LineNumber на състоянието

Декларация за изтриване в конфликт с ограничението за препратка

Статус

Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".

Решение

Този проблем е решен в следната сборна актуализация за SQL Server:

Забележка Този проблем е решен в кумулативната актуализация 6 за SQL Server 2016 SP2.

За кумулативни актуализации за SQL Server:

Всеки нов сборна актуализация за SQL Server съдържа всички актуални корекции и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте най-новите сборни актуализации за SQL Server:

Заобиколно решение

За да решите проблема по заобиколен начин, използвайте един от следните методи:

  • Използвайте съвместимост ниво под 130 да изпълните тази заявка.

  • Промяна на структурата на индекс на таблицата съотнасяне.

Повече информация

Начална база данни с обхват конфигурация ниво на съвместимост 130 в SQL Server 2016, план за изпълнение на заявка може да използва външен ключ препратка Проверка на оператор, за да проверите, ако ред в таблица се използва от всички редове в други таблици чрез цялост на ограничения. Оператор може да се използва, ако таблица се използва от голям брой чуждестранни таблици. В този оператор SQL Server избира индекс на всяка възмездна таблица за извършване на проверка. Ако съотнасяне таблица е индекс с няколко основни колони, някои такива колони в началото не са част от външен ключ, но някои други колони са част от външен ключ. Това може да доведе до неправилно проверка, която се извършва от SQL Server.

Например да разгледаме следната схема:

създаване на таблица ТПК (п.к int ограничение първичен ключ CPK клъстер)

създаване на таблица tfk (int, ФК int ограничение cfk външен ключ препратки ТПК, ia clustered(a,fk)) индекс

Тези схеми може да доведе до този проблем, но ако промените ред на колоните в индекса ia (fk,), той няма да.

Препратки

Научете повече за  терминология, използвана за описание на софтуерните актуализации от Microsoft.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×