Symptômes
Supposons que vous activez la fonctionnalité Magasin des requêtes pour une base de données dans une instance de SQL Server 2016. Lorsque vous interrogez le plan de requête à l’aide d’opérations de jointure, la colonne query_plan dans les résultats de la requête contient des caractères inhabituels.
Par exemple, vous joignez sys.query_store_plan à un autre affichage, comme dans la requête suivante :
SÉLECTIONNEZ qt.query_sql_text, q.query_id, qt.query_text_id, p.plan_id p.query_plan
FROM sys.query_store_query_text AS qt
JOINTURE INTERNE sys.query_store_query AS q ON qt.query_text_id = q.query_text_id
JOINTURE INTERNE sys.query_store_plan AS p ON q.query_id = p.query_id
Dans ce cas, la colonne query_plan dans le résultat de la requête contient des caractères tels que :
传/傳
Résolution
Le correctif de ce problème est inclus dans la mise à jour cumulative suivante pour SQL Server :
Mise à jour cumulative 2 pour SQL Server 2016
À propos des mises à jour cumulatives pour SQL Server
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
Solution de contournement
Pour contourner ce problème, ne joignez pas sys.query_store_plan à un autre affichage lorsque vous tentez de récupérer query_plan. Au lieu de cela, pour récupérer query_plan pour un plan_id donné, exécutez une requête distincte pour cette plan_id qui ressemble à ce qui suit :
Sélectionnez plan_id, query_plan
à partir de sys.query_store_plan
où plan_id = plan_id
État
Microsoft a confirmé qu’il s’agissait d’un problème dans les produits Microsoft répertoriés dans la section « S’applique à ».
Références
Découvrez la terminologie utilisée par Microsoft pour décrire les mises à jour logicielles.