Applies ToSQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1

Symptômes

Prenons l’exemple du scénario suivant :

  • Vous utilisez une base de données dont le niveau de compatibilité est défini sur 130 dans Microsoft SQL Server 2016.

  • Vous exécutez une requête qui accède à un index de magasin de colonnes et à un index de magasin de lignes ou à un segment de mémoire, et inclut un prédicat de filtre (clause WHERE).

Dans ce scénario, SQL Server ne seront pas en mesure d’envoyer (push) le prédicat de filtre à l’opérateur de source de données (analyse ou recherche de table ou d’index). Cela peut entraîner des performances de requête non optimales.

En outre, si la requête utilise une expression (telle que la conversion de type) dont l’exactitude dépend des données filtrées (par exemple, une colonne de table char est convertie en int, mais seul un sous-ensemble de valeurs contient une représentation int valide, et ce sous-ensemble est identifié par le prédicat de filtre), la requête peut échouer avec une erreur de conversion de données qui ressemble à l’une des suivantes :

Échec de la conversion msg 245, niveau 16, état 1, ligne 20lors de la conversion de la valeur varchar « 0,5 » en type de données int.Msg 8114, Niveau 16, État 5, Ligne 34 Erreur lors dela conversion du type de données varchar en bigint.

Résolution

Ce problème est résolu dans la mise à jour cumulative suivante pour SQL Server :Mise à jour cumulative 2 pour SQL Server 2016 SP1       

Remarque Vous devez activer les correctifs logiciels de l’optimiseur de requête pour que ce correctif prenne effet.

Vous pouvez activer les correctifs logiciels de l’optimiseur de requête à l’aide de l’une des options suivantes : indicateur de trace 4199, paramètre configuration délimitée à la base de données QUERY_OPTIMIZER_HOTFIXES=ON (disponible dans SQL Server 2016 et versions ultérieures) ou USE_HINT option de requête « ENABLE_QUERY_OPTIMIZER_HOTFIXES » (disponible dans SQL Server 2016 SP1 et versions ultérieures).

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs logiciels et tous les correctifs de sécurité inclus dans la mise à jour cumulative précédente. Consultez les dernières mises à jour cumulatives pour SQL Server:Dernière mise à jour cumulative pour SQL Server 2016

État

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

Références

Découvrez la terminologieutilisée par Microsoft pour décrire les mises à jour logicielles.

Besoin d’aide ?

Vous voulez plus d’options ?

Explorez les avantages de l’abonnement, parcourez les cours de formation, découvrez comment sécuriser votre appareil, etc.

Les communautés vous permettent de poser des questions et d'y répondre, de donner vos commentaires et de bénéficier de l'avis d'experts aux connaissances approfondies.