CORRIGER : Procédure stockée CLR renvoie la valeur NULL après que qu'il est recompilée dans SQL Server 2008 R2 ou SQL Server 2008

Traductions disponibles Traductions disponibles
Numéro d'article: 2536225 - Voir les produits auxquels s'applique cet article
Microsoft distribue 2008 R2 Microsoft SQL Server ou Microsoft SQL Server 2008 des correctifs en un seul fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et correctifs de sécurité fournies avec la précédente SQL Server 2008 R2 ou SQL Server 2008 version du correctif.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Considérez le scénario suivant :
  • Vous créez un régime commun de language runtime (CLR) stocké pour une Microsoft SQL Server 2008 R2 ou une base de données Microsoft SQL Server 2008.
  • La procédure stockée CLR est implémentée comme une méthode statique publique qui retourne une valeur entière de Microsoft.NET Framework.
  • Vous exécutez une application qui appelle la procédure stockée CLR. La procédure stockée CLR renvoie une valeur correcte.
  • Vous effectuez certaines opérations recompiler le plan d'exécution pour la procédure stockée CLR.

    Remarque Pour plus d'informations sur la façon de recompiler le plan d'exécution de la procédure stockée, reportez-vous à la section « Informations complémentaires ».
  • Vous exécutez à nouveau l'application.
Dans ce scénario, la procédure stockée CLR renvoie incorrectement une valeur NULL. En outre, vous devez redémarrer le service de SQL Server pour récupérer à partir de ce problème.

Résolution

Informations de mise à jour cumulative

SQL Server 2008 Service Pack 3

Le correctif de ce problème a été tout d'abord publié dans 2 mise à jour Cumulative pour SQL Server 2008 Service Pack 3. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2633143 Package de mise à jour cumulative 2 pour SQL Server 2008 Service Pack 3
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité fournis avec la précédente 2008 de SQL Server version du correctif. Microsoft vous recommande d'envisager l'application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2629969 Le 2008 SQL Server versions publiées après la publication de SQL Server 2008 Service Pack 3
Correctifs Microsoft SQL Server 2008 sont créés pour SQL Server les service packs spécifiques. Vous devez appliquer un correctif SQL Server 2008 Service Pack 3 pour une installation de SQL Server 2008 Service Pack 3. Par défaut, tous les correctifs fournis dans un service pack SQL Server sont inclus dans le prochain service pack SQL Server.

SQL Server 2008 R2 Service Pack 1

Le correctif de ce problème a été tout d'abord publié dans 2 mise à jour Cumulative pour SQL Server 2008 R2 Service Pack 1. Pour plus d'informations sur l'obtention de ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2567714 Package de mise à jour cumulative 2 pour SQL Server 2008 R2 Service Pack 1
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente 2008 R2 SQL Server version du correctif. Nous recommandons de procéder à l'application la plus récente version du correctif qui comprendra 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 Versions de SQL Server 2008 R2 publiées après SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

Le correctif de ce problème a été tout d'abord publié dans 8 mise à jour Cumulative. Pour plus d'informations sur la façon d'obtenir ce package de mise à jour cumulative pour SQL Server 2008 R2, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
2534352 Package de mise à jour cumulatif 8 pour SQL Server 2008 R2
Remarque Les versions étant cumulatives, chaque nouvelle version de correctif contient tous les correctifs et correctifs de sécurité inclus avec la précédente 2008 R2 SQL Server version du correctif. Nous recommandons de procéder à l'application la plus récente version du correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
981356 Versions de SQL Server 2008 R2 publiées après SQL Server 2008 R2

Plus d'informations

Pour recompiler le plan d'exécution de la procédure stockée, effectuez l'une des opérations suivantes :
  • Exécuter le DBCCFREEPROCCACHE instruction.
  • Par rapport à une table ou une vue, exécutez une des mentions suivantes :
    • ALTER TABLE
    • INSTRUCTION ALTER VIEW
  • Exécuter un plan d'exécution qui modifie ou supprime des index.
  • Effectuer une Mise à jour opération sur les statistiques qui sont utilisés par le plan d'exécution.

    Remarque Vous pouvez exécuter une instruction pour effectuer le Mise à jour opération, ou Mise à jour opération peut être effectuée automatiquement.
  • Exécuter le sp_recompile instruction.
  • Apporter des modifications nombreuses à touches.

    Par exemple, utiliser un compte d'utilisateur qui met à jour une table référencée par une instruction à exécuter le INSÉRER ou SUPPRIMER instruction.
  • Insérer ou supprimer plusieurs lignes d'une table contenant des déclencheurs.
  • Utiliser le « WITH RECOMPILE » option permettant d'exécuter une procédure stockée.

Statut

Microsoft a confirmé qu'il s'agit d'un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Références

Pour plus d'informations sur les procédures stockées CLR, visitez le site Web MSDN suivant :
Informations générales sur le CLR de procédures stockées

Pour plus d'informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
935897Un modèle de service incrémentiel est disponible à partir de l'équipe de SQL Server pour proposer des correctifs pour les problèmes signalés
Pour plus d'informations sur le schéma d'appellation des mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
822499Nouveau schéma d'appellation des packages de mise à jour de logiciels Microsoft SQL Server
Pour plus d'informations sur la terminologie de mise à jour de logiciel, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour du logiciel Microsoft

Propriétés

Numéro d'article: 2536225 - Dernière mise à jour: mardi 22 novembre 2011 - Version: 4.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Mots-clés : 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2536225 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 2536225
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com