Ondersteunde .NET Framework-bibliotheken
van toepassing op:SQL Server-
Met de Common Language Runtime (CLR) die wordt gehost in SQL Server, kunt u opgeslagen procedures, triggers, door de gebruiker gedefinieerde functies, door de gebruiker gedefinieerde typen en door de gebruiker gedefinieerde aggregaties maken in beheerde code. Met de functionaliteit in de .NET Framework-klassebibliotheken hebt u toegang tot vooraf gedefinieerde klassen die functionaliteit bieden voor het bewerken van tekenreeksen, geavanceerde wiskundige bewerkingen, bestandstoegang, cryptografie en meer. Deze klassen kunnen worden geopend vanuit elke beheerde opgeslagen procedure, door de gebruiker gedefinieerd type, trigger, door de gebruiker gedefinieerde functie of door de gebruiker gedefinieerde aggregatie.
Als u niet-ondersteunde assembly's in de algemene assemblycache (GAC) onderhoudt of bijwerkt, werkt uw SQL Server-toepassing niet meer. Dit komt doordat het onderhoud of het upgraden van bibliotheken in de GAC deze assembly's niet bijwerkt in SQL Server. Als een assembly zowel in een SQL Server-database als in de GAC bestaat, moeten de twee exemplaren van de assembly exact overeenkomen. Als deze niet overeenkomen, treedt er een fout op wanneer de assembly wordt gebruikt door SQL Server CLR-integratie. Als u assembly's in de GAC service of upgradet die ook zijn geregistreerd in de database, inclusief niet-ondersteunde .NET Framework-assembly's, moet u ook de kopie van de assembly in uw SQL Server-databases onderhouden of upgraden met de ALTER ASSEMBLY
-instructie. Zie MSSQLSERVER_6522voor meer informatie.
Ondersteunde bibliotheken
SQL Server bevat een lijst met ondersteunde .NET Framework-bibliotheken die zijn getest om ervoor te zorgen dat ze voldoen aan betrouwbaarheids- en beveiligingsstandaarden voor interactie met SQL Server. Ondersteunde bibliotheken hoeven niet expliciet op de server te worden geregistreerd voordat ze kunnen worden gebruikt in uw code; SQL Server laadt ze rechtstreeks vanuit de Global Assembly Cache (GAC).
De bibliotheken/naamruimten die worden ondersteund door CLR-integratie in SQL Server zijn:
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
Niet-ondersteunde bibliotheken
Niet-ondersteunde bibliotheken kunnen nog steeds worden aangeroepen vanuit uw beheerde opgeslagen procedures, triggers, door de gebruiker gedefinieerde functies, door de gebruiker gedefinieerde typen en door de gebruiker gedefinieerde aggregaties. De niet-ondersteunde bibliotheek moet eerst worden geregistreerd in de SQL Server-database, met behulp van de CREATE ASSEMBLY
-instructie, voordat deze in uw code kan worden gebruikt. Elke niet-ondersteunde bibliotheek die is geregistreerd en wordt uitgevoerd op de server, moet worden gecontroleerd en getest op beveiliging en betrouwbaarheid.
De System.DirectoryServices
naamruimte wordt bijvoorbeeld niet ondersteund. U moet de System.DirectoryServices.dll assembly registreren met UNSAFE
machtigingen voordat u deze vanuit uw code kunt aanroepen. De machtiging UNSAFE
is nodig omdat klassen in de System.DirectoryServices
naamruimte niet voldoen aan de vereisten voor SAFE
of EXTERNAL_ACCESS
. Zie beperkingen voor clr-integratiemodellen en CLR-integratiecodetoegangsbeveiligingvoor meer informatie.