Sign in with Microsoft
Sign in or create an account.

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.

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×