CORRECTIF : Des résultats incohérents lorsque vous exécutez une requête complexe qui utilise l’opérateur de l’APPLIQUER dans SQL Server 2008 R2

Microsoft distribue les correctifs de Microsoft SQL Server 2008 R2 en tant que fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus dans la précédente de SQL Server 2008 R2 version du correctif.

Symptômes

Dans Microsoft SQL Server 2008 R2, vous pouvez recevoir des résultats incohérents lorsque vous exécutez une requête complexe qui utilise l’opérateur à APPLIQUER .

Remarque  Vous recevez le bon résultat dans ce scénario, si vous utilisez l’indicateur de requête FORCE ORDER dans une requête.

Cause

Ce problème se produit car l’optimiseur sélectionne un plan d’exécution incorrect pour la requête.

L’optimiseur de requête traite le prédicat GROUP BY pour les colonnes multiples dans un opérateur physique du plan d’exécution. Toutefois, l’opérateur renvoie toutes les colonnes dans la liste sortie groupées et ne pas regrouper toutes ces colonnes. Par conséquent, la requête peut retourner un résultat incorrect.

Remarque Un exemple d’un opérateur physique est l’opérateur Stream Aggregate .

Par exemple, l’optimiseur de requête génère une clause de GROUPE PAR ColA, ColB en interne sur le tableau suivant :
ColAColB
00
01
L’optimiseur de requêtes peut générer de façon incorrecte un plan d’exécution qui renvoie des colonnes à la fois le ColA et ColB . Ces colonnes sont regroupés par la colonne ColA dans la liste sortie. Dans cet exemple, la requête peut retourner au hasard 0 ou 1 dans la colonne ColB si les valeurs de la colonne ColA sont 0.

Résolution

Informations de mise à jour cumulative

SQL Server 2008 R2

Le correctif de ce problème a été publié dans les 5 mise à jour Cumulative. Pour plus d’informations sur l’obtention de ce package de mise à jour cumulative pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :
Package de mise à jour cumulative 2438347 5 pour SQL Server 2008 R2
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus dans la précédente version du correctif de SQL Server 2008 R2. Nous vous recommandons l’application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
981356 le SQL Server versions 2008 R2 publiées après SQL Server 2008 R2

État

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Plus d'informations

Pour vérifier que vous rencontrez ce problème, passez en revue le plan d’exécution de la requête posant problème et vérifiez les opérateurs de groupe. Par exemple, vérifier le stream aggregate, opérateur, l’opérateur d’agrégation hash, l’opérateur de tri distinctes et l’opérateur de segment. Si la liste des colonnes de sortie est plus longue que la liste des colonnes groupées, vous rencontrez ce problème.

Références

Pour plus d’informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

935897 un modèle de service incrémentiel est disponible auprès de l’équipe SQL Server pour proposer des correctifs pour les problèmes signalés

Pour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l’article correspondant dans la Base de connaissances Microsoft :

822499 Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server
Pour plus d'informations sur la terminologie de mise à jour logicielle, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
Description 824684 terminologie standard utilisée pour décrire les mises à jour logicielles de Microsoft
Propriétés

ID d'article : 2428310 - Dernière mise à jour : 8 janv. 2017 - Révision : 1

Commentaires