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 |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
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 |
---|---|
Siehe auch
Konzepte
Codezugriffssicherheit und ADO.NET