CORRECTIF : Des résultats incorrects peuvent se produire lorsque vous exécutez des requêtes sur des tables qui contiennent des index à l’aide d’un ordre de tri décroissant
Symptômes
Après avoir installé SQL Server mise à jour cumulative 4 (CU4) 2022, vous pouvez recevoir des résultats incorrects de requêtes qui remplissent toutes les conditions suivantes :
Vous avez des index qui spécifient explicitement un ordre de tri décroissant. Voici un exemple :
CREATE NONCLUSTERED INDEX [nci_table_column1] ON [dbo].[table1] (column1 DESC)
Vous exécutez des requêtes sur les tables qui contiennent ces index. Ces requêtes spécifient un ordre de tri qui correspond à l’ordre de tri des index.
La colonne de tri est utilisée dans les prédicats de requête dans la
WHERE IN
clause ou plusieurs clauses d’égalité. Voici un exemple :SELECT * FROM [dbo].[table1] WHERE column1 IN (1,2) ORDER BY column1 DESC SELECT * FROM [dbo].[table1] WHERE column1 = 1 or column1 = 2 ORDER BY column1 DESC
Remarque
La
IN
clause qui a une valeur unique n’a pas ce problème.
Résolution
Ce problème est résolu dans la mise à jour cumulative suivante pour SQL Server :
Mise à jour cumulative 5 pour SQL Server 2022
À propos des mises à jour cumulatives pour SQL Server
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et correctifs de sécurité qui se trouvaient dans la build précédente. Nous vous recommandons d’installer la dernière build pour votre version de SQL Server :
Dernière mise à jour cumulative pour SQL Server 2022
Solution de contournement
Pour contourner ce problème, désinstallez SQL Server 2022 CU4 ou activez l’indicateur de trace (TF) 13166, puis exécutez DBCC FREEPROCCACHE
.
État
Microsoft a confirmé l’existence de ce problème dans les produits Microsoft répertoriés dans la section « Produits concernés ».
References
Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.