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 istnieje kwerenda wykonująca niektóre operacje na ciągach, na przykład połączenie, w kolumnach CHAR lub VARCHAR w programie Microsoft SQL Server 2014, 2016 i 2017. Rozpatrzmy następujący scenariusz:

  • Kolumny można łączyć z różnymi typami sortowania, które są do nich przypisane.

  • Te metody sortowania są niezgodne ze sobą. Na przykład spróbuj połączyć kolumnę, która jest sortowana jako Latin1_General_CI_AI, Latin1_General_BIN.

  • Ostateczny wynik łączenia jest przypisany do określonego sortowania (łącznie z "database_default") jako kwestią rozwiązywania konfliktów sortowania.

W tym scenariuszu program SQL Server może zwrócić potwierdzenie dotyczące nieprawidłowego porównania z powodu braku sortowania i może zostać wyświetlony komunikat o błędzie podobny do następującego:

Lokalizacja: typinfo. cpp:LineNumber Wyrażenie: FAŁSZ Identyfikator SPID: Identyfikator SPID Identyfikator procesu: Identyfikator procesu Opis: nieprawidłowe porównanie ze względu na brak sortowania.

Msg 3624, poziom 20, stan 1, wiersz LineNumber Sprawdzanie potwierdzenia systemu nie powiodło się. Zobacz dziennik błędów programu SQL Server, aby uzyskać szczegółowe informacje. Zazwyczaj błąd potwierdzenia jest spowodowany błędem oprogramowania lub uszkodzeniem danych. Aby sprawdzić, czy baza danych jest uszkodzona, warto skorzystać z polecenia DBCC CHECKDB. Jeśli użytkownik wyraził zgodę na wysłanie zrzutów do firmy Microsoft podczas konfiguracji, do firmy Microsoft zostanie wysłany mini zrzut. Aktualizacja może być dostępna w firmie Microsoft w najnowszym dodatku Service Pack lub w ramach poprawki z pomocy technicznej.

Msg 596, poziom 21, stan 1, wiersz LineNumber Nie można kontynuować wykonywania, ponieważ sesja jest w stanie niszczącym.

Msg 0, poziom 20, stan 0, wiersz LineNumber

W bieżącym poleceniu wystąpił poważny błąd.  Ewentualne wyniki należy odrzucić.

Przyczyna

Podczas etapu optymalizacji kwerend program SQL Server próbuje obliczyć Kardynalność na pośrednich wynikach różnych etapów zapytania, na przykład konkatenację. Ponieważ Rozwiązywanie konfliktów sortowania ma miejsce na końcu, optymalizator zapytań może być nieświadomy tego problemu i próbował wykonać obliczenie kardynalności łączenia na wejściu z konfliktem.

Rozwiązanie

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

       Zbiorcza aktualizacja 8 dla programu SQL Server 2016 z dodatkiem SP1  

       Zbiorcza aktualizacja 4 dla programu SQL Server 2017

       Zbiorcza aktualizacja 9 dla programu SQL Server 2014 z dodatkiem SP2

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:

Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2016

Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2017

Najnowsza Zbiorcza aktualizacja dla programu SQL Server 2014

Stan

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

Informacje

Informacje o terminologiiużywanej 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.

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ę!

×