Dela via


.NET Framework-bibliotek som stöds

gäller för:SQL Server

Med CLR (Common Language Runtime) i SQL Server kan du skapa lagrade procedurer, utlösare, användardefinierade funktioner, användardefinierade typer och användardefinierade aggregeringar i hanterad kod. Med de funktioner som finns i .NET Framework-klassbiblioteken har du åtkomst till fördefinierade klasser som tillhandahåller funktioner för strängmanipulering, avancerade matematiska åtgärder, filåtkomst, kryptografi med mera. Dessa klasser kan nås från alla hanterade lagrade procedurer, användardefinierade typer, utlösare, användardefinierade funktioner eller användardefinierade aggregeringar.

Om du servar eller uppgraderar sammansättningar som inte stöds i den globala sammansättningscachen (GAC) kan SQL Server-programmet sluta fungera. Det beror på att service eller uppgradering av bibliotek i GAC inte uppdaterar dessa sammansättningar i SQL Server. Om en sammansättning finns både i en SQL Server-databas och i GAC måste de två kopiorna av sammansättningen exakt matcha. Om de inte matchar uppstår ett fel när sammansättningen används av SQL Server CLR-integrering. Om du servar eller uppgraderar några sammansättningar i GAC som också är registrerade i databasen, inklusive .NET Framework-sammansättningar som inte stöds, ser du till att även underhålla eller uppgradera kopian av sammansättningen i dina SQL Server-databaser med instruktionen ALTER ASSEMBLY. Mer information finns i MSSQLSERVER_6522.

Bibliotek som stöds

SQL Server har en lista över .NET Framework-bibliotek som stöds och som testas för att säkerställa att de uppfyller tillförlitlighets- och säkerhetsstandarder för interaktion med SQL Server. Bibliotek som stöds behöver inte vara explicit registrerade på servern innan de kan användas i koden. SQL Server läser in dem direkt från Global Assembly Cache (GAC).

Bibliotek/namnområden som stöds av CLR-integrering i SQL Server är:

  • mscorlib.dll
  • CustomMarshalers.dll
  • Microsoft.VisualBasic.dll
  • Microsoft.VisualC.dll
  • System.Configuration.dll
  • System.Core.dll
  • System.Data.OracleClient.dll
  • System.Data.SqlXml.dll
  • System.Data.dll
  • System.Deployment.dll
  • System.Security.dll
  • System.Transactions.dll
  • System.Web.Services.dll
  • System.Xml.Linq.dll
  • system.Xml.dll
  • System.dll

Bibliotek som inte stöds

Bibliotek som inte stöds kan fortfarande anropas från dina hanterade lagrade procedurer, utlösare, användardefinierade funktioner, användardefinierade typer och användardefinierade aggregeringar. Biblioteket som inte stöds måste först registreras i SQL Server-databasen med hjälp av instruktionen CREATE ASSEMBLY innan det kan användas i koden. Alla bibliotek som inte stöds som är registrerade och körs på servern bör granskas och testas för säkerhet och tillförlitlighet.

Till exempel stöds inte System.DirectoryServices namnrymd. Du måste registrera System.DirectoryServices.dll sammansättning med UNSAFE behörigheter innan du kan anropa den från koden. Behörigheten UNSAFE är nödvändig eftersom klasserna i System.DirectoryServices-namnområdet inte uppfyller kraven för SAFE eller EXTERNAL_ACCESS. Mer information finns i begränsningar för CLR-integreringsmodeller och CLR-integrering av Code Access Security.