CORRIGER : Le nombre de lignes est sous-estimé pour un prédicat de requête qui utilise une fonction définie par l’utilisateur scalaire en 2014 de SQL Server

IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d’une traduction incorrecte du contenu ou de son utilisation par les clients.

La version anglaise de cet article est la suivante: 3151176
Symptômes
Considérez le scénario suivant :

  • Vous avez une requête qui contient un prédicat qui implique une fonction scalaire définie par l’utilisateur paramétrée.
  • Il existe plusieurs combinaisons de valeurs de paramètre d’entrée susceptibles de produire le même résultat par cette fonction définie par l’utilisateur.
  • SQL Server utilise le nouveau estimateur de cardinalité dans lequel le mode de compatibilité de base de données est défini sur 120.

Dans ce scénario, lorsque vous exécutez la requête, vous rencontrez médiocrité des performances en raison d’un nombre incorrect estimé de lignes pour le prédicat qui implique la fonction définie par l’utilisateur dans le plan de requête.
Résolution
Ce problème a été tout d’abord résolu dans la mise à jour cumulative suivante pour SQL Server :



Après avoir installé ce package de mise à jour cumulative, vous devez activer l’indicateur de trace 4199. Pour ce faire, vous pouvez ajouter la -T4199 paramètre de démarrage. Vous pouvez également utiliser la DBCC traceon(4199) instruction pour une session spécifique.

À propos des mises à jour cumulatives pour SQL Server
Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et des correctifs de sécurité qui ont été inclus dans la précédente mise à jour cumulative. Découvrez les dernières mises à jour cumulatives pour SQL Server :

Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section « S'applique à ».
Références
En savoir plus sur la terminologie Microsoft utilise pour décrire les mises à jour logicielles.
Remarque Il s'agit d'un article de « PUBLICATION RAPIDE » rédigé directement au sein du service de support technique Microsoft. Les informations qui y sont contenues sont fournies en l'état, en réponse à des problèmes émergents. En raison du délai rapide de mise à disposition, les informations peuvent contenir des erreurs typographiques et, à tout moment et sans préavis, faire l'objet de révisions. Pour d'autres considérations, consultez les Conditions d'utilisation.

Avertissement : Cet article a été traduit automatiquement.

Propriétés

ID d'article : 3151176 - Dernière mise à jour : 05/31/2016 10:33:00 - Révision : 2.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard

  • kbqfe kbfix kbexpertiseinter kbsurveynew kbmt KB3151176 KbMtfr
Commentaires