Sign in with Microsoft
New to Microsoft? Create an account.

Symptômes

Supposez que vous disposez d’une requête qui effectue des opérations de type chaîne (par exemple, concaténation) sur des colonnes CHAR ou VARCHAR dans Microsoft SQL Server 2014, 2016 et 2017. Prenons l’exemple du scénario suivant :

  • Vous concaténez des colonnes avec différents classements qui leur sont attribués.

  • Ces classements ne sont pas compatibles entre eux. Par exemple, vous essayez de concaténer une colonne assemblées en tant que Latin1_General_CI_AI de Latin1_General_BIN.

  • Le résultat final de la concaténation est attribué à un assemblage spécifique (y compris « database_default ») dans le cadre de la résolution des conflits de classement.

Dans ce scénario, SQL Server peut retourner une assertion de vente au détail indiquant « une comparaison non valide en raison de l’absence d’assemblage » et vous pouvez recevoir des messages d’erreur similaires à ce qui suit :

Emplacement : typinfo. cpp :LineNumber Expression : false SPID : SPID ID de processus : ProcessID Description : comparaison non valide en raison de l’absence d’assemblage.

MSG 3624, niveau 20, état 1, ligne LineNumber La vérification de l’assertion du système a échoué. Pour plus d’informations, consultez le journal des erreurs SQL Server. En règle générale, un échec d’assertion est lié à un bogue logiciel ou à des données endommagées. Pour vérifier la corruption de la base de données, envisagez d’exécuter DBCC CHECKDB. Si vous avez accepté d’envoyer des vidages à Microsoft lors de l’installation, un mini-vidage sera envoyé à Microsoft. Il est possible qu’une mise à jour soit disponible à partir de Microsoft dans le Service Pack le plus récent ou dans un correctif du support technique.

MSG 596, niveau 21, état 1, ligne LineNumber Ne peut pas continuer l’exécution, car la session est en état d’arrêt.

MSG 0, niveau 20, état 0, ligne LineNumber

Une erreur sérieuse s’est produite sur la commande actuelle.  Les résultats éventuels doivent être supprimés.

Cause

Lors de l’étape d’optimisation de la requête, SQL Server tente de calculer les cardinales sur les résultats intermédiaires de diverses phases de la requête, par exemple la concaténation. Étant donné que la résolution des conflits de classement intervient en tout lieu, l’optimiseur de requête risque de ne pas être consciente de celle-ci et tente d’effectuer le calcul de la cardinalité de concaténation sur une entrée avec un assemblage en conflit.

Résolution

Ce problème a été résolu dans les mises à jour cumulatives de SQL Server suivantes :

       Mise à jour cumulative 8 pour SQL Server 2016 SP1  

       Mise à jour cumulative 4 pour SQL Server 2017

       Mise à jour cumulative 9 pour SQL Server 2014 SP2

Chaque nouvelle mise à jour cumulative pour SQL Server contient tous les correctifs et 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

Dernière mise à jour cumulative pour SQL Server 2017

Dernière mise à jour cumulative pour SQL Server 2014

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.

Références

Apprenez-en davantage sur la terminologieutilisée par Microsoft pour décrire les mises à jour logicielles.

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 ?

Dans quelle mesure êtes-vous satisfait(e) de la qualité de la langue ?
Qu’est-ce qui a affecté votre expérience ?

Nous vous remercions de vos commentaires.

×