Unterstützte .NET Framework-Bibliotheken
Gilt für:SQL Server
Mit der in SQL Server gehosteten Common Language Runtime (CLR) können Sie gespeicherte Prozeduren, Trigger, benutzerdefinierte Funktionen, benutzerdefinierte Typen und benutzerdefinierte Aggregate in verwaltetem Code erstellen. Mit der Funktionalität in den .NET Framework-Klassenbibliotheken haben Sie Zugriff auf vordefinierte Klassen, die Funktionen für die Zeichenfolgenmanipulation, erweiterte mathematische Vorgänge, Dateizugriff, Kryptografie und vieles mehr bieten. Auf diese Klassen können Sie von jeder verwalteten gespeicherten Prozedur, jedem benutzerdefinierten Typ, jedem Trigger, jeder benutzerdefinierten Funktion oder jedem benutzerdefinierten Aggregat aus zugreifen.
Wenn Sie nicht unterstützte Assemblys im globalen Assemblycache (GAC) diensten oder aktualisieren, kann Ihre SQL Server-Anwendung nicht mehr funktionieren. Dies liegt daran, dass die Wartungs- oder Aktualisierungsbibliotheken im GAC diese Assemblys in SQL Server nicht aktualisieren. Wenn eine Assembly sowohl in einer SQL Server-Datenbank als auch in der GAC vorhanden ist, müssen die beiden Kopien der Assembly exakt übereinstimmen. Wenn sie nicht übereinstimmen, tritt ein Fehler auf, wenn die Assembly von der SQL Server CLR-Integration verwendet wird. Wenn Sie Assemblys im GAC diensten oder aktualisieren, die auch in der Datenbank registriert sind, einschließlich nicht unterstützter .NET Framework-Assemblys, stellen Sie sicher, dass Sie auch die Kopie der Assembly in Ihren SQL Server-Datenbanken mit der ALTER ASSEMBLY
-Anweisung warten oder aktualisieren. Weitere Informationen finden Sie unter MSSQLSERVER_6522.
Unterstützte Bibliotheken
SQL Server verfügt über eine Liste der unterstützten .NET Framework-Bibliotheken, die getestet werden, um sicherzustellen, dass sie Zuverlässigkeit und Sicherheitsstandards für die Interaktion mit SQL Server erfüllen. Unterstützte Bibliotheken müssen nicht explizit auf dem Server registriert werden, bevor sie in Ihrem Code verwendet werden können. SQL Server lädt sie direkt aus dem globalen Assemblycache (GAC).
Die Bibliotheken/Namespaces, die von der CLR-Integration in SQL Server unterstützt werden, sind:
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
Nicht unterstützte Bibliotheken
Nicht unterstützte Bibliotheken können Sie nach wie vor von Ihren verwalteten gespeicherten Prozeduren, Triggern, benutzerdefinierten Funktionen, benutzerdefinierten Typen (User-Defined Types, UDT) und benutzerdefinierten Aggregaten aus aufrufen. Die nicht unterstützte Bibliothek muss zuerst in der SQL Server-Datenbank mit der CREATE ASSEMBLY
-Anweisung registriert werden, bevor sie in Ihrem Code verwendet werden kann. Alle nicht unterstützten Bibliotheken, die registriert und auf dem Server ausgeführt werden, sollten überprüft und auf Sicherheit und Zuverlässigkeit getestet werden.
Der System.DirectoryServices
-Namespace wird beispielsweise nicht unterstützt. Sie müssen die System.DirectoryServices.dll-Assembly mit UNSAFE
Berechtigungen registrieren, bevor Sie sie aus Ihrem Code aufrufen können. Die UNSAFE
Berechtigung ist erforderlich, da Klassen im System.DirectoryServices
-Namespace die Anforderungen für SAFE
oder EXTERNAL_ACCESS
nicht erfüllen. Weitere Informationen finden Sie unter CLR-Integrationsprogrammiermodelleinschränkungen und CLR-Integration Code Access Security.