Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Common Language Runtime (CLR) ist das Herzstück von .NET Framework und stellt die Ausführungsumgebung für alle .NET Framework-Code bereit. Code, der innerhalb der CLR ausgeführt wird, wird als verwalteter Code bezeichnet. CLR stellt verschiedene Funktionen und Dienste für die Programmausführung bereit, unter anderem Just-In-Time-Kompilierung (JIT), Speicherzuordnung und -verwaltung, Erzwingen der Typsicherheit, Ausnahmebehandlung, Threadverwaltung und Sicherheit.
Mit der in Microsoft SQL Server gehosteten CLR-Integration können Sie gespeicherte Prozeduren, Trigger, benutzerdefinierte Funktionen, benutzerdefinierte Typen und benutzerdefinierte Aggregate in verwaltetem Code erstellen. Da verwalteter Code vor der Ausführung in systemeigenem Code kompiliert wird, können Sie in einigen Szenarien erhebliche Leistungssteigerungen erzielen.
Verwalteter Code, der unter .NET Framework ausgeführt wird, verwendet Codezugriffssicherheit (Code Access Security, CAS), Codeverknüpfungen und Anwendungsdomänen, um zu verhindern, dass Assemblys bestimmte Vorgänge ausführen. SQL Server verwendet CAS, um den verwalteten Code zu sichern und eine Kompromittierung des Betriebssystems oder Datenbankservers zu verhindern.
Hinweis
Code Access Security (CAS) ist in allen Versionen von .NET Framework und .NET veraltet. Aktuelle Versionen von .NET berücksichtigen keine CAS-Anmerkungen und erzeugen Fehler, wenn CAS-bezogene APIs verwendet werden. Entwickler sollten alternative Mittel zum Ausführen von Sicherheitsaufgaben suchen.
Dieser Abschnitt soll nur genügend Informationen bereitstellen, um mit der Programmierung mit der SQL Server CLR-Integration zu beginnen und nicht umfassend zu sein. Ausführlichere Informationen finden Sie unter Common Language Runtime (CLR) -Integrationsübersicht.
Aktivieren der CLR-Integration
Das Integrationsfeature für die Common Language Runtime (CLR) ist in Microsoft SQL Server standardmäßig deaktiviert und muss aktiviert sein, um Objekte zu verwenden, die mithilfe der CLR-Integration implementiert werden. Um die CLR-Integration mit Transact-SQL zu aktivieren, verwenden Sie die clr enabled
Option der sp_configure
gespeicherten Prozedur wie gezeigt:
sp_configure 'clr enabled', 1
GO
RECONFIGURE
GO
Sie können die CLR-Integration deaktivieren, indem Sie für die clr enabled
-Option 0 festlegen. Wenn Sie die CLR-Integration deaktivieren, führt SQL Server nicht mehr alle CLR-Routinen aus und entlädt alle Anwendungsdomänen.
Ausführlichere Informationen finden Sie unter Aktivieren der CLR-Integration.
Bereitstellen einer CLR-Assembly
Sobald die CLR-Methoden auf dem Testserver getestet und überprüft wurden, können sie mithilfe eines Bereitstellungsskripts an Produktionsserver verteilt werden. Das Bereitstellungsskript kann manuell oder mithilfe von SQL Server Management Studio generiert werden. Ausführlichere Informationen finden Sie in der Version der SQL Server-Dokumentation für die Version von SQL Server, die Sie verwenden.
SQL Server-Dokumentation
Sicherheit bei der CLR-Integration
Das Sicherheitsmodell der Microsoft SQL Server-Integration mit der Common Language Runtime (CLR) von Microsoft .NET Framework verwaltet und sichert den Zugriff zwischen verschiedenen Typen von CLR und nicht-CLR-Objekten, die in SQL Server ausgeführt werden. Diese Objekte können von einer Transact-SQL-Anweisung oder einem anderen CLR-Objekt aufgerufen werden, das auf dem Server ausgeführt wird.
Ausführlichere Informationen finden Sie unter CLR Integration Security.
Debuggen einer CLR-Assembly
Microsoft SQL Server bietet Unterstützung für das Debuggen von Transact-SQL- und CLR-Objekten (Common Language Runtime) in der Datenbank. Das Debuggen funktioniert in verschiedenen Sprachen: Benutzer können nahtlos in CLR-Objekte aus Transact-SQL zugreifen und umgekehrt.
Ausführlichere Informationen finden Sie unter Debuggen von CLR-Datenbankobjekten.