DetailPage-MSS-KB

Base de connaissances

Numéro d'article: 922672 - Dernière mise à jour: vendredi 8 mars 2013 - Version: 5.0

 

Sommaire

INTRODUCTION

Cet article décrit la stratégie de prise en charge pour les assemblys Microsoft.NET Framework non testées dans le common language runtime (CLR).NET Framework-hébergé environnement dans Microsoft SQL Server.

Plus d'informations

Assembly de test et support

Lorsque vous inscrivez un assembly qui référence un assembly.NET Framework non testé dans SQL Server, le message d'avertissement suivant s'affiche :

Avertissement : L'assembly Microsoft .net Framework 'AssemblyName' vous enregistrez n'est pas entièrement testé dans un environnement SQL Server hébergées.

Le message signifie que l'assembly.NET Framework n'a pas été testé dans l'environnement hébergé SQL Server CLR. Par conséquent, l'assembly n'est pas pris en charge dans l'environnement hébergé SQL Server CLR.

Un assembly.NET Framework non testé peut quitter son processus hôte lorsqu'une condition critique comme condition d'insuffisance de mémoire se produit. Vous pouvez utiliser l'assembly dans l'environnement hébergé SQL Server CLR à vos propres risques. Toutefois, Microsoft SQL Server client Support Services (CSS) ne permettra pas à utiliser et à résoudre les problèmes qui sont associés à un assembly.NET Framework non pris en charge. Si CSS détermine qu'un assembly particulier non pris en charge provoque des problèmes de SQL Server, vous devrez peut-être arrêter d'utiliser l'assembly. En outre, vous devrez peut-être arrêter d'utiliser l'assembly temporairement lorsque CSS permet de résoudre un problème particulier de SQL Server s'il est nécessaire.

Enregistrement de l'assembly

Il existe deux types d'assemblys .NET : pures et mixtes. Les assemblys .NET purs contiennent uniquement des instructions MSIL. Les assemblys mixtes contiennent des instructions machine non managées et des instructions MSIL. Les assemblys mixtes en général sont compilés dans un compilateur C++ en utilisant le commutateur « clr » et également contient des instructions machine générées à partir du code C++ natif.

Lorsque vous utilisez un assembly.NET Framework qui n'est pas dans la liste pris en charge, vous devez utiliser l'instruction CREATE ASSEMBLY pour inscrire l'assembly et les assemblys référencés dans la base de données SQL Server. L'instruction SQL Server CREATE ASSEMBLY permet uniquement les assemblys.NET Framework purs être inscrit. Si l'assembly ou tout assembly référencé n'est pas un assembly.NET Framework pur (et, par conséquent, est un assembly mixte), le message d'erreur suivant s'affiche :

Msg 6544, niveau 16, état 1, ligne 2

CRÉER un ASSEMBLY pour l'assembly '<assembly name="">' a échoué car assembly '<assembly name="">' est incorrect ou pas un assembly .NET pur.</assembly> </assembly>

Non vérifiable PE en-tête/stub natif.

Dans ce cas, vous ne pouvez pas utiliser l'assembly.NET Framework et SQL CLR, sauf si l'assembly figure dans la liste pris en charge qui est décrite dans cet article. En outre, un assembly.NET Framework peut modifier à partir d'un assembly pur à un assembly mixte entre versions. Si vous utilisez un assembly qui n'est pas dans la liste pris en charge, vous pouvez avoir une situation dans laquelle l'assembly fonctionne dans une version du.NET Framework, mais pas dans un autre. Cette restriction ne s'applique pas aux assemblys dans la liste pris en charge car ces assemblys ne sont pas requis pour être inscrit en utilisant l'instruction CREATE ASSEMBLY.

En outre, vous devez conserver ces assemblys une fois que vous mettez à niveau le Microsoft.NET Framework. Pour plus d'informations, cliquez sur le numéro ci-dessous pour accéder à l'article correspondant dans la Base de connaissances Microsoft :
949080  (http://support.microsoft.com/kb/949080/ ) Message d'erreur lorsque vous exécutez une routine CLR ou que vous utilisez un assembly dans SQL Server: « Assembly dans le magasin hôte a une signature différente à l'assembly dans le GAC. (Exception de HRESULT : 0x80131050) "

Assemblys qui sont pris en charge dans un environnement hébergé SQL Server CLR

Les assemblys.NET Framework suivants sont pris en charge dans un environnement hébergé CLR de SQL Server :
  • Microsoft.VisualBasic.dll
  • Mscorlib.dll
  • System.Data.dll
  • System.dll
  • System.Xml.dll
  • Microsoft.VisualC.dll
  • CustomMarshalers.dll
  • System.Security.dll
  • System.Web.Services.dll
  • System.Data.SqlXml.dll
  • System.Transactions.dll
  • System.Data.OracleClient.dll
  • System.Configuration.dll

Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Express with Advanced Services
  • 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 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Express Edition with Advanced Services
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Compact Edition
Mots-clés : 
kbhowto kbexpertiseadvanced kbsql2005clr kbinfo kbmt KB922672 KbMtfr
Traduction automatiqueTraduction 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: 922672  (http://support.microsoft.com/kb/922672/en-us/ )
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.
Partager
Options de support supplémentaire
Forums du support Microsoft Community
Nous contacter directement
Trouver un partenaire Microsoft Certified Partner
Microsoft Store