CORRECTIF : Résultats incohérents lorsque vous exécutez une requête complexe qui utilise l'opérateur APPLY dans SQL Server 2008 R2

Traductions disponibles Traductions disponibles
Numéro d'article: 2428310 - Voir les produits auxquels s'applique cet article
Microsoft distribue les correctifs de Microsoft SQL Server 2008 R2 en tant qu'un fichier téléchargeable unique. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité inclus avec la précédente de SQL Server 2008 R2 version du correctif.
Agrandir tout | Réduire tout

Sommaire

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 leAPPLIQUERopérateur.

RemarqueVous recevez le résultat correct dans ce scénario, si vous utilisez leORDRE DE FORCEindicateur de requête dans une requête.

Cause

Ce problème se produit car l'optimiseur de requêtes sélectionne un plan d'exécution incorrecte pour la requête.

Les handles d'optimiseur de requête leREGROUPER PARprédicat pour les colonnes multiples dans un opérateur physique du plan d'exécution. Toutefois, l'opérateur renvoie toutes les colonnes groupées dans la liste de sortie et ne pas regrouper les colonnes ci-dessous. Par conséquent, la requête peut retourner un résultat incorrect.

RemarqueUn exemple d'un opérateur physique est laAgrégat de flux de donnéesopérateur.

Par exemple, l'optimiseur de requête génère unGROUP BY ColA, ColBclause en interne sur le tableau suivant :
Réduire ce tableauAgrandir ce tableau
ColAColB
00
01
L'optimiseur de requêtes peut générer incorrectement un plan d'exécution qui renvoie à la fois leColAetColBcolonnes. Ces colonnes sont regroupées par leColAcolonne dans la liste de sortie. Dans cet exemple, la requête puisse retourner au hasard0ou1dans laColBcolonne si les valeurs dans laColAsont de la colonne0.

Résolution

Informations de mise à jour cumulative

SQL Server 2008 R2

Tout d'abord, le correctif de ce problème a été publié à 5 de mise à jour cumulative. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulatives pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
2438347Package cumulatif de mise à jour de 5 pour SQL Server 2008 R2
RemarqueLes versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente de SQL Server 2008 R2 version du correctif. Il est recommandé d'envisager l'application de la version du correctif plus récente 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 :
981356Versions de SQL Server 2008 R2 ont été publiés après la publication de SQL Server 2008 R2

Statut

Microsoft a confirmé qu'il s'agit d'un problème dans les produits Microsoft répertoriés dans la section «S'applique à».

Plus d'informations

Pour vérifier que vous avez rencontré ce problème, passez en revue le plan d'exécution de la requête qui pose problème et vérifiez les opérateurs du groupe. Par exemple, vérifier l'opérateur d'agrégation de flux, de l'opérateur d'agrégation de hachage, de l'opérateur de tri distinctes et de l'opérateur de segment. Si la liste des colonnes de sortie est plus longue que la liste des colonnes groupées, vous avez rencontré 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 :
935897Un modèle de service incrémentiel est disponible à partir de l'équipe SQL Server pour fournir des correctifs pour les problèmes signalés
Pour plus d'informations sur le schéma d'affectation de noms pour les mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
822499Nouveau schéma d'affectation de noms pour les packages de correctifs Microsoft SQL Server
Pour plus d'informations sur la terminologie de mise à jour de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
824684 de laDescription de la terminologie standard utilisée pour décrire les mises à jour de logiciel Microsoft

Propriétés

Numéro d'article: 2428310 - Dernière mise à jour: vendredi 31 décembre 2010 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
Mots-clés : 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2428310 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 2428310
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com