Freigeben über


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 den in den Bibliotheken der .NET Framework-Klasse verfügbaren Funktionen haben Sie Zugriff auf vorgefertigte Klassen, die Funktionen u. a. zur Zeichenfolgenbearbeitung, für erweiterte mathematische Vorgänge, den Dateizugriff und die Kryptografie bereitstellen. 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.

Hinweis

Wenn Sie nicht unterstützte Assemblys im globalen Assemblycache (GAC) verwalten oder aktualisieren, funktioniert Ihre SQL Server Anwendung möglicherweise nicht mehr. Dies liegt daran, dass beim Warten oder Aktualisieren von Bibliotheken im GAC diese Assemblys in SQL Server nicht aktualisiert werden. Wenn eine Assembly sowohl in einer SQL Server-Datenbank als auch im GAC vorhanden ist, müssen die beiden Kopien der Assembly genau übereinstimmen. Wenn sie nicht übereinstimmen, tritt ein Fehler auf, wenn die Assembly von SQL Server CLR-Integration verwendet wird. Wenn Sie Assemblys im GAC warten 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 im Knowledge Base-Artikel 949080.

Unterstützte Bibliotheken

Ab SQL Server 2005 (9.x) verfügt SQL Server über eine Liste unterstützter .NET Framework Bibliotheken, die getestet wurden, um sicherzustellen, dass sie Zuverlässigkeits- 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 von der CLR-Integration in SQL Server unterstützten Bibliotheken/Namespaces sind:

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

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-Integrationscodezugriffssicherheit.

Weitere Informationen

Erstellen von Assemblys
CLR-Integration und Codezugriffssicherheit
Beschränkungen des Programmiermodells für die CLR-Integration