Symptômes
Supposons que vous exécutez une requête parallèle complexe qui nécessite un nombre important de threads parallèles dans Microsoft SQL Server 2012 ou dans Microsoft SQL Server 2014 et que les threads de travail sont épuisés sur le planificateur correspondant. Dans de rares cas, la requête ne progresse pas pendant une durée indéterminée en raison d’un interblocage non détecté.
Remarque Si d’autres planificateurs dans SQL Server ont des workers disponibles, le moteur de base de données sera en mesure de traiter correctement les autres requêtes.
Cause
En cas de famine des threads de travail, une attente spécifique entre les threads de travail n’est pas traitée comme un bloqueur potentiel. Par conséquent, le moniteur de blocage ne détecte pas la condition. La requête ne répond donc pas. La probabilité qu’une telle condition se produise est faible et dépend principalement de la forme du plan de requête, du degré de parallélisme et de la disponibilité des threads de travail.
Résolution
Informations sur les mises à jour cumulatives
Le problème a été résolu pour la première fois dans la mise à jour cumulative suivante de SQL Server.
- Mise à jour cumulative 1 pour SQL Server 2014 SP1
- Mise à jour cumulative 7 pour SQL Server 2014
- Mise à jour cumulative 5 pour SQL Server 2012 SP2
Recommandation : Installer la dernière mise à jour cumulative 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. Nous vous recommandons de télécharger et d’installer les dernières mises à jour cumulatives pour SQL Server :
- Dernière mise à jour cumulative pour SQL Server 2014 SP1
- Dernière mise à jour cumulative pour SQL Server 2014
- Dernière mise à jour cumulative pour SQL Server 2012 SP2
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».