KB2428310-FIX : résultats incohérents lors de l’exécution d’une requête complexe qui utilise l’opérateur APPLY dans SQL Server 2008 R2

Microsoft distribue les correctifs Microsoft SQL Server 2008 R2 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 SQL Server 2008 R2 antérieure.

Symptômes

Dans Microsoft SQL Server 2008 R2, il est possible que vous receviez des résultats incohérents lorsque vous exécutez une requête complexe qui utilise l’opérateur apply . Remarque Vous recevez le résultat correct dans ce scénario si vous utilisez l’indicateur de requête ordre de force dans une requête.

Cause

Ce problème se produit car l’optimiseur de requête sélectionne un plan d’exécution incorrect pour la requête. L’optimiseur de requête gère le prédicat Group by pour les multiples colonnes dans un opérateur physique du plan d’exécution. Toutefois, l’opérateur génère toutes les colonnes groupées dans la liste de sortie et ne groupe pas toutes ces colonnes. Par conséquent, la requête peut retourner un résultat incorrect. Remarque Un exemple d’opérateur physique est l’opérateur de regroupement de flux . Par exemple, l’optimiseur de requête génère un groupe par Cola, clause colB en interne par rapport au tableau suivant :

ColA

ColB

0

0

0

1

L’optimiseur de requête risque de générer incorrectement un plan d’exécution qui renvoie les colonnes Cola et colB . Ces colonnes sont regroupées par la colonne Cola dans la liste sortie. Dans cet exemple, la requête risque de retourner de façon aléatoire 0 ou 1 dans la colonne colB si les valeurs de la colonne Cola sont égales à 0.

Résolution

Informations sur les mises à jour cumulatives

SQL Server 2008 R2

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

2438347 Package de mise à jour cumulative 5 pour SQL Server 2008 R2 Remarque 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 :

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

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.

Informations supplémentaires

Pour vérifier que vous rencontrez ce problème, passez en revue le plan d’exécution de la requête problématique, puis activez les opérateurs de groupe. Par exemple, vérifiez l’opérateur d’agrégat de flux, l’opérateur d’agrégat de hachage, l’opérateur de tri distinct 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 consulter l’article de la base de connaissances Microsoft :

935897 Un modèle de maintenance incrémentiel est disponible auprès de l’équipe SQL Server pour obtenir des correctifs pour les problèmes signalésPour plus d’informations sur le schéma d’appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

822499Nouveau schéma d’affectation de noms pour les packages de mise à jour logicielle Microsoft SQL ServerPour plus d’informations sur la terminologie des mises à jour logicielles, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

824684 Terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

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.

×