KB4074881 — POPRAWKA: błąd asercji podczas zbiorczego wstawiania danych do tabeli zawierającej indeksy magazynu kolumn nieklastrowanych i grupowanych w SQL Server 2016 i 2017 r.

Dotyczy
SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer on Windows SQL Server 2017 Enterprise on Windows SQL Server 2017 Enterprise Core on Windows SQL Server 2017 Standard on Windows

Objawy

Załóżmy, że uruchamiasz zapytanie, które ładuje dane przy użyciu instrukcji BULK INSERT do tabeli, która ma zarówno nieklastrowany indeks magazynu kolumn, jak i grupowany indeks magazynu kolumn w programie SQL Server 2016 i 2017. Jeśli zapytanie jest uruchamiane jednocześnie przez wiele połączeń, a program SQL Server nie zapewnia wystarczającej ilości pamięci dla niektórych połączeń, operacja WSTAWIENIE ZBIORCZE może zakończyć się niepowodzeniem i zostaną wyświetlone błędy potwierdzenia podobne do następujących:

Uwaga

  • Błąd: 17066, Istotność: 16, Stan: 1.
  • SQL Server Assertion: File:< qsupdate.cpp>, line=902 Failed Assertion = 'nullptr != m_prsBulkInPhases'. Ten błąd może być związany z chronometrażem. Jeśli błąd będzie się powtarzał po ponownym uruchomieniu instrukcji, sprawdź integralność strukturalną bazy danych za pomocą polecenia DBCC CHECKDB lub uruchom ponownie serwer, aby upewnić się, że struktury danych w pamięci nie są uszkodzone.
  • Błąd: 3624, Ważność: 20, Stan: 1.
  • Sprawdzanie potwierdzeń systemu nie powiodło się. Sprawdź dziennik błędów programu SQL Server, aby uzyskać szczegółowe informacje. Zazwyczaj niepowodzenie asercji jest spowodowane błędem oprogramowania lub uszkodzeniem danych. Aby sprawdzić, czy baza danych nie jest uszkodzona, rozważ uruchomienie polecenia DBCC CHECKDB. Jeśli wyrażono zgodę na wysyłanie zrzutów do firmy Microsoft podczas instalacji, minizrzut zostanie wysłany do firmy Microsoft. Aktualizacja może być dostępna od firmy Microsoft w najnowszym dodatku Service Pack lub w poprawce z pomocy technicznej.

Ponadto plik zrzutu jest generowany przez program SQL Server.

Rozwiązanie

Ta poprawka jest zawarta w następujących aktualizacjach zbiorczych dla programu SQL Server:

Aktualizacja zbiorcza 6 dla programu SQL Server 2017

Aktualizacja zbiorcza 8 dla programu SQL Server 2016 z dodatkiem Service Pack 1.

Informacje o kompilacjach programu SQL Server

Każda nowa kompilacja programu SQL Server 2016 zawiera wszystkie poprawki zabezpieczeń z poprzedniej kompilacji. Zalecamy zainstalowanie najnowszych aktualizacji zbiorczych dla programu SQL Server:

Najnowsza aktualizacja zbiorcza dla programu SQL Server 2017

najnowsza kompilacja dla programu SQL Server 2016

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.