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

Po zastosowaniu programu SQL Server 2016 z dodatkiem Service Pack 3 (SP3) lub SQL Server 2017, aktualizacja skumulowana 26 (CU26) i uruchomieniu procedury składowanej oczyszczania śledzenia zmian (sp_flush_commit_table_on_demand lub sp_flush_CT_internal_table_on_demand)lub po uruchomieniu automatycznego śledzenia zmian jest wyświetlany następujący komunikat o błędzie:

Msg 8114, Level 16, State 1, Procedure sp_add_ct_history, Line LineNumber

Error converting data type numeric to int.

Ponadto w dzienniku błędów mogą być rejestrowane SQL Server błędów:

DateTime spidNum     Error: 22122, Severity: 16, State: 1.

DateTime spidNum     Change Tracking autocleanup failed on side table of "table_name". If the failure persists, use sp_flush_CT_internal_table_on_demand to clean up expired records from its side table.

Po napotkaniu tego błędu automatyczne śledzenie zmian nie może oczyścić wpisów z tabeli bocznej lub tabeli syscommittab.

Przyczyna

SQL Server 2016 z dodatkiem SP3 SQL Server 2017 CU26 wprowadzono nową tabelę dbo. MSchange_tracking_historyi nową procedurę składowaną sys.sp_add_ct_history, aby zarejestrować historię oczyszczania śledzenia zmian. Ta tabela zawiera kolumnę o cleanup_version, która jest obecnie deklarowana jako typ danych ZAO INT. Procedura sys.sp_add_ct_history ma parametr @cleanup_version, który jest również deklarowany jako ZAO INT. W przypadku zajętych systemów, w których jest używane śledzenie zmian, wersja oczyszczania może w danym interwale przejść przez zakres funkcji ZAO INT. Następnie, gdy zostanie uruchomiony oczyszczanie śledzenia zmian, spróbuje wstawić wartość BIGINT w kolumnie INT tej tabeli. Zostanie wygenerowany błąd opisany w sekcji "Objawy".

Rozwiązanie

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

Aktualizacja skumulowana 27 dla SQL Server 2017

Każda nowa aktualizacja skumulowana 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 SQL Server:

Najnowsza aktualizacja skumulowana dla SQL Server 2017 r.

Informacje o poprawce na żądanie:

Ten problem został rozwiązany w następującej poprawce na żądanie dla systemu SQL Server:

Obejście

Jeśli wystąpi ten problem, powróć do poprzedniej kompilacji, odinstalując dodatek SQL SERVER 2016 z dodatkiem SP3 lub SQL Server 2017 CU26. Firma Microsoft aktywnie bada ten problem i zaktualizuje ten artykuł, aby uzyskać więcej informacji i dodatkowe wskazówki, gdy te informacje będą dostępne.

Stan

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

Informacje

Dowiedz się więcej o terminologii uż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ę!

×