Symptômes
Prenons le scénario suivant :
- Vous exécutez une requête dans Microsoft SQL Server 2016 et 2017.
- Le plan de requête qui en résulte contient une branche en mode traitement par lots et une branche en mode ligne impliquées dans une jointure.
- Dans la branche du mode ligne, il existe des opérateurs parallèles et série.
Dans ce scénario, une condition de blocage peut se produire.
Remarque : Ce problème ne se produit pas si vous définissez le degré maximal de parallélisme (MAXDOP) sur 1 pour la requête.
Résolution
Ce problème est résolu dans les mises à jour cumulatives suivantes pour SQL Server :
Mise à jour cumulative 4 pour SQL Server 2017
Mise à jour cumulative 7 pour SQL Server 2016 SP1
Remarque L’indicateur de trace du correctif logiciel (TF) 4199 de l’optimiseur de requête doit être activé pour que ce problème soit résolu.
Pour plus d’informations sur les correctifs logiciels et les indicateurs de trace de l’optimiseur de requête, consultez :
Correctif logiciel de l’optimiseur de requêtes de SQL Server TF 4199 modèle de maintenance
Commandes de console DBCC et indicateurs de trace
À propos des mises à jour cumulatives pour SQL Server :
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server :
Dernière mise à jour cumulative pour SQL Server 2017
Dernière mise à jour cumulative pour SQL Server 2016
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Références
En savoir plus à propos de la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.