Freigeben über


Einführung in CLR-Integration für SQL Server (ADO.NET)

Aktualisiert: November 2007

Die CLR-Komponente (Common Language Runtime) bildet das Kernstück von Microsoft .NET Framework und stellt die Ausführungsumgebung für den gesamten Code in .NET Framework bereit. In der CLR ausgeführter Code wird als verwalteter Code bezeichnet. Die CLR stellt verschiedene Funktionen und Dienste bereit, die für die Programmausführung erforderlich sind. Hierzu zählen z. B. JIT-Kompilierung (Just-In-Time), Zuordnung und Verwaltung des Arbeitsspeichers, Erzwingen von Typsicherheit, Ausnahmebehandlung, Threadverwaltung und Sicherheit.

Durch das Einbetten der CLR-Komponente in Microsoft SQL Server (CLR-Integration) besteht nun die Möglichkeit, gespeicherte Prozeduren, Trigger, benutzerdefinierte Funktionen, benutzerdefinierte Typen und benutzerdefinierte Aggregate in verwaltetem Code zu erstellen. Da verwalteter Code vor der Ausführung in systemeigenen Code kompiliert wird, können Sie in einigen Szenarien deutliche Leistungssteigerungen erzielen.

Verwalteter Code kann mithilfe von Codezugriffssicherheit (CAS – Code Access Security), Codelinks und Anwendungsdomänen verhindern, dass Assemblys bestimmte Vorgänge ausführen. In SQL Server 2005 trägt die Verwendung der Codezugriffssicherheit zur Sicherung des verwalteten Codes und zum Schutz des Betriebssystems und des Datenbankservers vor schädigenden Eingriffen bei.

In diesem Abschnitt sollen die Informationen bereitgestellt werden, die für den Einstieg in das Programmieren mit der CLR-Integration in SQL Server erforderlich sind. Es ist nicht Ziel dieses Abschnitts, das Thema umfassend abzudecken. Ausführlichere Informationen finden Sie in der Onlinedokumentation zu SQL Server für die von Ihnen verwendete Version von SQL Server.

SQL Server 2005

SQL Server 2008

Introduction to Common Language Runtime

Common Language Runtime (CLR) Integration Overview

Aktivieren der CLR-Integration

Das Feature zur Integration der Common Language Runtime (CLR) ist in Microsoft SQL-Server in der Standardeinstellung deaktiviert und muss aktiviert werden, damit die mithilfe der CLR-Integration implementierten Objekte verwendet werden können. Aktivieren Sie die CLR-Integration unter Verwendung von Transact-SQL mithilfe der Option clr enabled der gespeicherten Prozedur sp_configure wie folgt:

sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO

Sie können CLR-Integration deaktivieren, indem Sie die clr enabled-Option auf 0 festlegen. Wenn die CLR-Integration deaktiviert wird, beendet SQL Server die Ausführung von CLR-Routinen und entlädt alle Anwendungsdomänen.

Ausführlichere Informationen finden Sie in der Onlinedokumentation zu SQL Server für die von Ihnen verwendete Version von SQL Server.

SQL Server 2005

SQL Server 2008

Enabling CLR Integration

Enabling CLR Integration

Bereitstellung einer CLR-Assembly

Nachdem die CLR-Methoden auf dem Testserver getestet und verifiziert wurden, können sie mithilfe eines Bereitstellungsscripts an Produktionsserver verteilt werden. Das Bereitstellungsskript kann manuell oder mithilfe von SQL Server Management Studio generiert werden. Ausführlichere Informationen finden Sie in der Onlinedokumentation zu SQL Server für die von Ihnen verwendete Version von SQL Server.

SQL Server 2005

SQL Server 2008

Deploying CLR Database Objects

Deploying CLR Database Objects

Sicherheit bei der CLR-Integration

Das Sicherheitsmodell der Microsoft SQL Server-Integration in der Common Language Runtime (CLR) von Microsoft .NET Framework verwaltet und sichert den Zugriff zwischen verschiedenen Typen von CLR-Objekten und Nicht-CLR-Objekten, die in SQL Server ausgeführt werden. Diese Objekte können durch eine Transact-SQL-Anweisung oder durch ein anderes, auf dem Server ausgeführtes CLR-Objekt aufgerufen werden.

Ausführlichere Informationen finden Sie in der Onlinedokumentation zu SQL Server für die von Ihnen verwendete Version von SQL Server.

SQL Server 2005

SQL Server 2008

CLR Integration Security

CLR Integration Security

Debuggen einer CLR-Assembly

Microsoft SQL Server stellt Unterstützung für das Debuggen von Transact-SQL und CLR-Objekten (Common Language Runtime) in der Datenbank bereit. Das Debuggen erfolgt sprachübergreifend: der Benutzer kann von Transact-SQL in CLR-Objekte wechseln und umgekehrt.

Ausführlichere Informationen finden Sie in der Onlinedokumentation zu SQL Server für die von Ihnen verwendete Version von SQL Server.

SQL Server 2005

SQL Server 2008

Debugging CLR Database Objects

Debugging CLR Database Objects

Siehe auch

Konzepte

Codezugriffssicherheit und ADO.NET

Weitere Ressourcen

Erstellen von SQL Server 2005-Objekten in verwaltetem Code