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) diensten oder aktualisieren, funktioniert ihre SQL Server-Anwendung möglicherweise nicht mehr. 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 im Knowledge Base-Artikel 949080.

Unterstützte Bibliotheken

Ab SQL Server 2005 (9.x) verfügt SQL Server über eine Liste der unterstützten .NET Framework-Bibliotheken, die getestet wurden, 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:

  • 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
CLR-Integration: Beschränkungen des Programmiermodells