Hotfix and Security Content Publishing: 113140
Symptômes
Partez du principe que vous activez le suivi des modifications pour une ou plusieurs tables dans SQL Server 2017 et que vous avez défini AUTO_CLEANUP = activé. Vous remarquez qu’aucune ligne n’est supprimée ou nettoyée de tables latérales ou de la table système sys. syscommittab même après le période de rétention. Par ailleurs, vous remarquerez les symptômes suivants :
-
Si vous vous connectez à l’aide d’une connexion d’administration dédiée et que vous interrogez la version de nettoyage non valide et de nettoyage renforcé, vous les verrez :
SELECT * FROM sys. sysobjvalues où valclass = 7 et objid = 1003--non valide
SELECT * FROM sys. sysobjvalues où valclass = 7 et objid = 1004--renforcé
-
Si vous exécutez le SP suivant pour nettoyer sys. syscommittab manuellement, il n’effectuera pas le nettoyage et renverra une version de nettoyage présécurisée comme négative :
exec sp_flush_commit_table_on_demand
Sortie
La valeur renvoyée par change_tracking_hardened_cleanup_version () est-nnnnnn.
-
Si vous recueillez une session d’événement étendu avec des change_tracking_cleanup d’événements pendant le nettoyage automatique du suivi des modifications, vous remarquerez que CleanupStatusChange est défini sur 32 (erreur) et que le fonctionnement du nettoyage existe :
Statut
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Résolution
Ce problème a été résolu dans la mise à jour cumulative suivante pour SQL Server :
À propos des mises à jour cumulatives pour SQL Server :
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Remarque Pour résoudre ce problème, vous devez activer l’indicateur de suivi 8290 et laisser le processus de nettoyage automatique s’exécuter. Après l’activation de cet indicateur de suivi, le processus de nettoyage automatique du suivi automatique rétablit la version de nettoyage non valide en fonction de la période de rétention. Cet indicateur de suivi peut être activé au niveau de la session ou au démarrage. Pour pouvoir comprenez la cause profonde de l’incompatibilité de la version de nettoyage, il est recommandé d’appeler le support technique et de fournir des informations supplémentaires.
Références
En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.
Bug Information:
-
Bug #: 13312017 (sqlbuvsts01)
-
Bug #: 113039 (Content Idea)
KE: v-sidong
Author:
Writer: v-sidong
Tech reviewer: tzakir; akbarf; lzhang
Editor: v-jizho