KB2727322-FIX : des résultats incorrects sont renvoyés lorsque vous exécutez une requête qui utilise le parallélisme dans le plan d’exécution des requêtes de SQL Server 2008, dans SQL Server 2008 R2 ou dans SQL Server 2012

Microsoft distribue les correctifs Microsoft SQL Server 2008 Service Pack 3 sous la forme d’un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et les correctifs de sécurité inclus dans la version de correctif du Service Pack 3 SQL Server 2008 antérieur.

Symptômes

Partez du principe que vous exécutez une requête qui utilise le parallélisme dans le plan d’exécution des requêtes de SQL Server 2008, dans SQL Server 2008 R2 ou dans SQL Server 2012. Le plan de requête répond aux conditions suivantes :

  • le plan d’exécution de la requête contient un opérateur de bitmap et une jointure de hachage ou une jointure de fusion.

  • Le prédicat de jointure par hachage ou jointure de fusion contient une comparaison de colonnes qui peuvent être null.

Dans ce scénario, la requête renvoie des résultats incorrects.

Cause

Ce problème survient parce que la valeur NULL est ignorée lorsque SQL Server utilise le filtrage d’image bitmap lors d’une analyse de table ou d’une analyse d’index.

Résolution

Informations sur les mises à jour cumulatives

Package de mise à jour cumulative 1 pour SQL Server 2012 Service Pack 1

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 1. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server 2012 Service Pack 1, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2765331 Package de mise à jour cumulative 1 pour SQL Server 2012 Service Pack 1Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans l’ancienne version du correctif SQL Server 2012. Nous vous recommandons d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2772858 Builds SQL Server 2012 publiées après la sortie de SQL Server 2012 Service Pack 1

SQL Server 2008 R2 Service Pack 2

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 2 pour SQL Server 2008 R2 Service Pack 2. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2740411 Package de mise à jour cumulative 2 pour SQL Server 2008 R2 Service Pack 2Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Nous vous recommandons d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2730301 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 Service Pack 2

SQL Server 2008 R2 Service Pack 1

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 8. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative pour SQL Server 2008 R2 Service Pack 1, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2723743 Package de mise à jour cumulative 8 pour SQL Server 2008 R2 SP1Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version du correctif du Service Pack 1 SQL Server 2008 R2 antérieur. Nous vous recommandons d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2567616 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 SP1

SQL Server 2012

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 3 pour SQL Server 2012. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2723749 Package de mise à jour cumulative 3 pour SQL Server 2012Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans l’ancienne version du correctif SQL Server 2012. Microsoft vous recommande d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2692828 Builds SQL Server 2012 publiées après la sortie de SQL Server 2012 Vous devez appliquer un correctif SQL Server 2012 à une installation de SQL Server 2012.

SQL Server 2008 Service Pack 3

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 6 pour SQL Server 2008 Service Pack 3. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2715953 Package de mise à jour cumulative 6 pour SQL Server 2008 Service Pack 3Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans l’ancienne version du correctif SQL Server 2008. Nous vous recommandons d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2629969 Builds SQL Server 2008 publiées après la sortie de SQL Server 2008 Service Pack 3 Des correctifs Microsoft SQL Server 2008 sont créés pour des service packs SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2008 Service Pack 3 à une installation de SQL Server 2008 Service Pack 3. Par défaut, tout correctif fourni dans un service pack SQL Server est inclus dans le prochain Service Pack SQL Server.

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.

Solution de contournement

Pour contourner ce problème, évitez d’utiliser le parallélisme dans la requête en appliquant l’une des méthodes suivantes :

  • Ajoutez l’option d’indicateur de requête MAXDOP 1 .

  • Définissez l’option niveau maximal de parallélisme sur 1.

Informations supplémentaires

Pour plus d’informations sur les jointures de hachage parallèle, accédez au site Web des Blogs MSDN suivant :

Informations générales sur les jointures de hachage parallèlePour plus d’informations sur les filtres de bitmap d’exécution des requêtes, consultez le site Web des Blogs MSDN suivant :

Informations générales sur les filtres de bitmap d’exécution des requêtes

Besoin d’aide ?

Développez vos compétences
Découvrez des formations
Accédez aux nouvelles fonctionnalités en avant-première
Rejoindre Microsoft Insider

Ces informations vous ont-elles été utiles ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×