Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ознаки

Після застосування SQL Server сукупного пакета оновлень 3 (SP3) або пакета оновлень 26 (SP3) або SQL Server 2017 (CU26) і запуску збереженої процедури очищення відстеження змін, пакета sp_flush_commit_table_on_demand чи sp_flush_CT_internal_table_on_demandабо автоматичне очищення відстеження змін з'являється таке повідомлення про помилку:

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

Error converting data type numeric to int.

Крім того, у журнал помилок SQL Server записуються такі помилки:

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.

Після виникнення цієї помилки функція відстеження автоматичного очищення не може очистити записи з бічної таблиці або таблиці syscommittab.

Причина

SQL Server 2016 із пакетом оновлень 3 (SP3) і SQL Server 2017 CU26 представили нову таблицю (dbo). MSchange_tracking_history, і нову збережену процедуру sys.sp_add_ct_history, щоб записати журнал очищення відстеження змін. Ця таблиця містить стовпець cleanup_version, який зараз оголошено як тип даних INT. Збережена sys.sp_add_ct_history містить параметр (@cleanup_version), який також задекларовано як INT. У зайнятій системі, яка використовує відстеження змін, очистити версію може перетинати діапазон inT з указаним інтервалом. Після цього під час очищення відстеження змін вона намагається вставити значення BIGINT у стовпець INT цієї таблиці. Так буде створено помилку, описану в розділі "Ознаки".

Спосіб вирішення

Цю проблему вирішено в таких сукупних пакетах оновлень SQL Server:

Сукупний пакет оновлень 27 для SQL Server 2017

Кожне нове сукупне оновлення SQL Server містить усі поточні виправлення та всі виправлення системи безпеки, включені до попереднього сукупного пакета оновлень. Перегляньте найновіші сукупні оновлення для SQL Server:

Останнє сукупне оновлення для SQL Server 2017 р.

Відомості про поточні виправлення за вимогою:

Цю проблему вирішено в таких виправленнях на вимогу для SQL Server:

Інші способи вирішення

Якщо у вас виникли проблеми, повернутися до попередньої збірки, видаливши пакет оновлень 3 (SP3) або SQL Server 2016 із пакетом оновлень 3 (SP3) або SQL Server CU26. Корпорація Майкрософт активно вивчає цю проблему та оновить цю статтю докладними відомостями та додатковими порадами, коли вони з'являться.

Стан

Корпорація Майкрософт підтверджує, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".

Посилання

Дізнайтеся про термінологію, яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×