KB2715312-FIX : erreurs lors de l’exécution d’une requête qui utilise la clause FOR XML dans le mode PATH dans SQL Server 2008 R2 ou SQL Server 2012

Microsoft distribue les correctifs Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) dans un fichier téléchargeable. Dans la mesure où les correctifs sont cumulatifs, chaque nouvelle version contient tous les correctifs et toutes les mises à jour de sécurité qui ont été incluses dans la mise à jour précédente de SQL Server 2008 R2 Service Pack 1 (SP1).

Symptômes

Prenons l’exemple du scénario suivant :

  • Votre application cliente exécute une requête dans Microsoft SQL Server 2008 R2 ou dans Microsoft SQL Server 2012.

  • La requête utilise la clause for XML dans le mode path .

  • La requête exécute la commande SET NO_BROWSETABLE on pour activer le paramètre NO_BROWSETABLE .

Dans ce scénario, la requête ne s’exécute pas. Par ailleurs, vous recevez le message d’erreur suivant sur l’application cliente et un fichier de minividage est généré dans le journal des erreurs SQL.

MSG 0, niveau 11, état 0, ligne 0A erreur sérieuse s’est produite sur la commande actuelle. Les résultats éventuels doivent être supprimés. MSG 0, niveau 20, état 0, ligne 0A erreur sérieuse s’est produite sur la commande actuelle. Les résultats éventuels doivent être supprimés.

Remarques

  • Un plan de requête utilisé pour exécuter la requête n’est pas compilé.

  • Il n’existe aucun événement de générateur de profils pour la requête Failed lorsque vous démarrez le profil SQL Server.

  • Lorsque ce problème se produit, le service SQL Server s’arrête par intermittence.

Cause

Ce problème survient en raison d’une défaillance interne dans le algebrizer SQL Server. Ce problème survient lorsque SQL Server tente d’ajouter des colonnes qui sont extraites d’un côté du nœud d’opérateur de jointure vers l’autre côté du nœud d’opérateur de jointure. Par conséquent, une arborescence algebrizer non valide est créée, car les colonnes définies d’un côté du nœud d’opérateur de jointure ne sont pas visibles à l’autre extrémité du nœud d’opérateur de jointure.

Résolution

Informations sur les mises à jour cumulatives

SQL Server 2012

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 3 pour SQL Server 2012. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2723749 Package de mise à jour cumulative 3 pour SQL Server 2012Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans l’ancienne version du correctif SQL Server 2012. Microsoft vous recommande d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2692828 Builds SQL Server 2012 publiées après la sortie de SQL Server 2012 Vous devez appliquer un correctif SQL Server 2012 à une installation de SQL Server 2012.

SQL Server 2008 R2 Service Pack 2

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 1 pour SQL Server 2008 R2 Service Pack 2. Pour plus d’informations sur la façon d’obtenir ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2720425 Package de mise à jour cumulative 1 pour SQL Server 2008 R2 Service Pack 2Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Nous vous recommandons d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2730301 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 Service Pack 2

Package de mise à jour cumulative 7 pour SQL Server 2008 R2 SP1

Le correctif de ce problème a été émis pour la première fois dans la mise à jour cumulative 7 pour SQL Server 2008 R2 Service Pack 1. Pour plus d’informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour consulter l’article de la base de connaissances Microsoft :

2703282 Package de mise à jour cumulative 6 pour SQL Server 2008 R2 SP1Remarque Dans la mesure où les builds sont cumulatives, chaque nouvelle version du correctif contient tous les correctifs et les correctifs de sécurité inclus dans la version précédente du correctif SQL Server 2008 R2. Microsoft vous recommande d’appliquer la version de correctif la plus récente qui contient ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :

2567616 Builds SQL Server 2008 R2 publiées après la sortie de SQL Server 2008 R2 SP1 Des correctifs Microsoft SQL Server 2008 R2 sont créés pour des packs de services SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2008 R2 Service Pack 1 à une installation de SQL Server 2008 R2 Service Pack 1. Par défaut, tout correctif fourni dans un service pack SQL Server est inclus dans le prochain Service Pack SQL Server.

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.

Solution de contournement

Pour contourner ce problème, appliquez l’une des méthodes ci-dessous.

Méthode 1

N’utilisez pas la clause for XML dans le mode path .

Méthode 2

Exécutez la commande suivante pour désactiver le paramètre NO_BROWSETABLE :

DÉFINIR NO_BROWSETABLE DÉSACTIVÉ

Références

Pour plus d’informations sur le mode de navigation, rendez-vous sur le site Web de MSDN suivant :

Informations générales sur le mode de navigationPour plus d’informations sur l’utilisation du mode PATH avec la clause FOR XML, accédez au site Web MSDN suivant :

Utiliser le mode PATH avec la clause FOR XML

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 ?

Nous vous remercions pour vos commentaires.

Merci pour vos commentaires. Il serait vraisemblablement utile pour vous de contacter l’un de nos agents du support Office.

×