Symptomy
Załóżmy, że próbujesz wstawić wartości do kolumny indeks wiodący w programie Microsoft SQL Server 2012 lub SQL Server 2014. Gdy mniej niż 90 procent wstawionych wierszy zawiera wartości, które wykraczają poza najmniejszą wartość RANGE_HI_KEY na histogramie, to kolumna jest traktowana jako nieruchoma, a nie w porządku rosnącym. Z tego powodu nie jest wykrywany klucz Ascend, a śledzone są flagi 2389 i 2390, które zazwyczaj są używane do rozwiązywania problemów z najważniejszymi kluczami, nie działają. Jest to przyczyną niezadowalającego oszacowania kardynalności, gdy są używane predykaty, które wykraczają poza wartość RANGE_HI_KEY istniejących statystyk.Uwaga Po zastosowaniu tej aktualizacji zbiorczej należy włączyć flagę śledzenia 4139. Spowoduje to, że program SQL Server zawsze zmieni histogram w opisanym scenariuszu bez względu na stan kolumny wiodącej (rosnąco, malejąco lub nieruchomo).
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w następujących zbiorczych aktualizacjach programu SQL Server:
Zbiorcza aktualizacja 1 dla programu SQL server 2012 z dodatkiem SP2 Aktualizacja zbiorcza 2 dla programu SQL Server 2014 Aktualizacja zbiorcza 10 dla programu SQL Server 2012 SP1
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".