Dotyczy
SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Standard on Windows SQL Server 2019 on Windows

Symptomy

Załóżmy, że w tabeli jest ustawione ograniczenie klucza obcego w celu usuwania kaskadowego, a statystyka w kolumnie klucza obcego nie obejmuje całego zakresu wartości klucza w tabeli (na przykład dlatego, że statystyki nie zostały zaktualizowane po zmianie rozkładu danych w tabeli). W tym scenariuszu podczas próby usunięcia wiersza odpowiadającego wartości klucza, która nie jest reprezentowana w histogramie statystyki, a optymalizator zapytań używa domyślnej szacowania kardynalności, operacja usuwania jest wolnsza niż oczekiwano. Możesz również zauważyć operację skanowania indeksu, która umożliwia znalezienie zgodnych wierszy w tabeli odwoływać się.

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Rozwiązanie

Ten problem został rozwiązany w następujących aktualizacjach skumulowanych programu SQL Server:

Uwaga: Ta poprawka jest włączona tylko po włączeniu poprawek optymalizatora (za pomocą opcji konfiguracji z zakresem bazy danych, wskazówki dotyczącej zapytania lub flagi śledzenia 4199).

Informacje o aktualizacjach skumulowanych dla programu SQL Server:

Każda nowa aktualizacja skumulowana dla programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej aktualizacji skumulowanej. Zapoznaj się z najnowszymi aktualizacjami skumulowanymi dla programu SQL Server:

Obejście

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

  • Użyj szacowania kardynalności starszej. Aby uzyskać więcej informacji, zobacz oszacowanie kardynalności (SQL Server).

  • Usuwanie kaskadowe z definicji klucza obcego i wykonywanie operacji usuwania za pomocą operacji JOIN między tabelami nadrzędnymi i podrzędnymi w celu wykonania równoważnego z usuwaniem kaskadowym.

  • Przed usunięciem danych zaktualizuj statystyki w tabeli nadrzędnej za pomocą PEŁNEGO.EKW.KREŚL.

Informacje

Poznaj terminy używane przez firmę Microsoft do opisywania aktualizacji oprogramowania.

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.