Unterstützte .NET Framework-Bibliotheken

Mit in SQL Server gehosteter CLR (Common Language Runtime) können Sie gespeicherte Prozeduren, Trigger, benutzerdefinierte Funktionen, benutzerdefinierte Typen (User-Defined Types, UDT) 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.

HinweisHinweis

Wenn Sie nicht unterstützte Assemblys im globalen Assemblycache (Global Assembly Cache oder GAC) warten oder aktualisieren, stellt die SQL Server-Anwendung möglicherweise den Betrieb ein. Das liegt daran, dass durch Warten oder Aktualisieren von Bibliotheken im GAC die entsprechenden 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. Stimmen sie nicht überein, tritt ein Fehler auf, wenn die Assembly von der SQL Server CLR-Integration verwendet wird. Wenn Sie Assemblys, einschließlich nicht unterstützte .NET Framework-Assemblys, im GAC warten oder aktualisieren und die Assemblys auch in der Datenbank registriert sind, stellen Sie sicher, dass Sie auch die Kopie der Assembly in den 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 verfügt SQL Server über eine Liste mit unterstützten .NET Framework-Bibliotheken, die auf Zuverlässigkeits- und Sicherheitsstandards zur Interaktion mit SQL Server getestet wurden. Unterstützte Bibliotheken müssen auf dem Server nicht explizit registriert werden, bevor sie in Ihrem Code verwendet werden können. SQL Server lädt sie direkt in den globalen Assemblycache (Global Assembly Cache oder GAC).

Folgende Bibliotheken/Namespaces werden von der CLR-Integration in SQL Server unterstützt:

  • CustomMarshalers

  • Microsoft.VisualBasic

  • Microsoft.VisualC

  • mscorlib

  • System

  • System.Configuration

  • System.Data

  • System.Data.OracleClient

  • System.Data.SqlXml

  • System.Deployment

  • System.Security

  • System.Transactions

  • System.Web.Services

  • System.Xml

  • System.Core.dll

  • System.Xml.Linq.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ützten Bibliotheken müssen zunächst in der SQL Server-Datenbank mit der CREATE ASSEMBLY-Anweisung registriert werden, bevor sie in Ihrem Code verwendet werden können. 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 vom 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 Beschränkungen des Programmiermodells für die CLR-Integration und CLR-Integration und Codezugriffssicherheit.