Hotfix and Security Content Publishing: 113140
Симптоми
Приемете, че позволявате проследяването на промени за една или повече таблици в SQL Server 2017 и да зададете AUTO_CLEANUP = вкл. Забелязвате, че не се изтриват или почистват редове от нежелани таблици или от системната система на Сис. syscommittab дори след като период на съхранение. Освен това забелязвате следните симптоми:
-
Ако се свързвате с помощта на специалната връзка към администратор и направите заявка за невалидно почистване и втвърдена версия за почистване, ще ги намирате за отрицателни:
Изберете * от sys. sysobjvalues, където valclass = 7 и objid = 1003--невалидни
Изберете * от sys. sysobjvalues, където valclass = 7 и objid = 1004--закалени
-
Ако стартирате следния НК, за да почистите Сис. syscommittab ръчно, той няма да изчисти и ще върне закалената версия за почистване като отрицателна:
Exec sp_flush_commit_table_on_demand
Изход
Стойността, върната от change_tracking_hardened_cleanup_version () е-а nnnnnn.
-
Ако събирате разширена сесия за събития със събитие-change_tracking_cleanup по време на автоматичното почистване за проследяване на промените, ще забележите, че свойството CleanupStatusChange е зададено на 32 (грешка), а работата за почистване съществува:
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".
Решение
Този проблем е коригиран в следната сборна актуализация за SQL Server:
За сборните актуализации за SQL Server:
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Забележка За да отстраните този проблем, трябва да разрешите Трейс Flag 8290 и да оставите процеса на автоматично почистване да се изпълни. След като този флаг за проследяване е разрешен, промяната на автоматичното почистване ще нулира невалидните версии за почистване на базата на периода на съхранение. Тази следа флаг може да бъде разрешена на ниво сесия или при стартиране. За да разберете причината за причината, поради която изчистената версия е била отрицателна, се препоръчва да се обадите на поддръжката и да предоставите повече подробности.
Препратки
Научете повече за терминологията , която Microsoft използва, за да опише софтуерни актуализации.
Bug Information:
-
Bug #: 13312017 (sqlbuvsts01)
-
Bug #: 113039 (Content Idea)
KE: v-sidong
Author:
Writer: v-sidong
Tech reviewer: tzakir; akbarf; lzhang
Editor: v-jizho