Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Symptomy

Załóżmy, że próby usunięcia danych z tabeli i w innych tabelach w Microsoft SQL Server 2016 i 2017 odwołuje się danych. If eksplorować kwerendy plan wykonania, można to sprawdzić należy użyć operatora klucza obcego odwołanie Sprawdź .W tej sytuacji może pojawić się następujący komunikat o błędzie nawet jeśli jest wiersz usunięte nie odwołuje się do innych tabel:

Msg 547, poziom: 16, stanu 0, wiersz numer wiersza

Instrukcja DELETE konflikt z ograniczeniem odwołanie

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacji zbiorczej dla programu SQL Server:

Uwaga: Ten problem został rozwiązany w zbiorczej aktualizacji 6 dla dodatku SP2 dla programu SQL Server 2016.

Informacje dotyczące zbiorczej aktualizacji dla programu SQL Server:

Każda nowa aktualizacja zbiorcza dla programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały zawarte w poprzedniej zbiorczej aktualizacji. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:

Obejście

Aby obejść ten problem, użyj jednej z następujących metod:

  • Użyj poziom zgodności poniżej 130 do uruchomienia tej kwerendy.

  • Zmiana struktury indeksu na tabeli odwołującej się.

Więcej informacji

Poziom zgodności konfiguracji o zakresie początkowej bazy danych 130 w programie SQL Server 2016, plan wykonania kwerend można używać odwołaniu klucza obcego Sprawdź operatora, aby sprawdzić, czy wiersz w tabeli jest wywoływany przez wszystkie wiersze w innych tabel za pośrednictwem ograniczenia integralności referencyjnej. Jeśli można użyć takiego operatora Tabela odwołuje się dużej liczby tabel obcych. Ten operator in Serwer SQL wybiera indeks w każdej tabeli odwołującej się do przeprowadzania takich kontroli. IF odwołujący się tabela ma indeks z wielu kolumn klucza, takie niektóre kolumn na początku nie są częścią klucza obcego, ale niektóre inne kolumny są częścią klucza obcego. Może to spowodować niepoprawne wyboru, która jest wykonywana w programie SQL Server.

Na przykład rozważmy następujące schematu:

Tworzenie tabeli tpk (ograniczenie klucza podstawowego int Klastrowany klucz podstawowy CK)

Tworzenie tabeli tfk (int, fk int ograniczenie cfk tpk odwołania do klucza obcego, clustered(a,fk)) ia indeksu

Taki schemat może skutkować tego problemu, ale jeśli zmienisz kolejność kolumn w ia do indeksu (fk), nie będzie.

Informacje

Dowiedz się więcej o  terminologiaużywany do opisywania aktualizacji oprogramowania firmy Microsoft.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×