Programmierkonzepte für die Integration von Common Language Runtime (CLR)
Gilt für: SQL Server Azure SQL Managed Instance
Ab SQL Server 2005 (9.x) bietet SQL Server die Integration der CLR-Komponente (Common Language Runtime) von .NET Framework für Microsoft Windows.
Sie können gespeicherte Prozeduren, Trigger, benutzerdefinierte Typen, benutzerdefinierte Funktionen, benutzerdefinierte Aggregate und Streamingtabellenwertfunktionen mithilfe einer beliebigen .NET Framework-Sprache, einschließlich Visual Basic und C#, schreiben.
Hinweise
Die SQL Server CLR-Integration unterstützt .NET Core oder .NET 5 und höhere Versionen nicht.
Sie können CLR-Datenbankobjekte für SQL Server 2017 (14.x) und höhere Versionen unter Linux laden, müssen jedoch mit .NET Framework erstellt werden. Außerdem werden CLR-Assemblys mit dem
EXTERNAL_ACCESS
OderUNSAFE
Berechtigungssatz unter Linux nicht unterstützt.Standardmäßig wird die .NET Framework-Laufzeit mit SQL Server installiert, das .NET Framework SDK ist jedoch nicht. Informationen zum Installieren der neuesten Version des .NET Framework SDK finden Sie unter .NET Framework Developer Pack herunterladen.
Der
Microsoft.SqlServer.Server
Namespace enthält Kernfunktionen für die CLR-Programmierung in SQL Server. Dokumentation zum Namespace finden Sie unter Microsoft.SqlServer.Server Namespace (.NET Framework 4.8).For documentation on theMicrosoft.SqlServer.Server
namespace, see Microsoft.SqlServer.Server Namespace (.NET Framework 4.8).CLR-Funktionen wie CLR-Benutzerfunktionen werden für Azure SQL-Datenbank nicht unterstützt.
In diesem Abschnitt
In der folgenden Tabelle sind die Artikel in diesem Abschnitt aufgeführt.
Artikel | Beschreibung |
---|---|
Übersicht über die CLR-Integration (Common Language Runtime) | Bietet eine kurze Übersicht über die CLR und beschreibt, wie und warum diese Technologie in SQL Server verwendet wurde. Beschreibt die Vorteile der Verwendung von CLR zur Erstellung von Datenbankobjekten. |
Assemblys (Database Engine) | Beschreibt, wie Assemblys in SQL Server zum Bereitstellen von Funktionen, gespeicherten Prozeduren, Triggern, benutzerdefinierten Aggregaten und benutzerdefinierten Typen verwendet werden, die in einer der von der Microsoft .NET Framework Common Language Runtime (CLR) gehosteten verwalteten Codesprachen geschrieben und nicht in Transact-SQL geschrieben werden. |
Erstellen von Datenbankobjekten mit CLR-Integration (Common Language Runtime) | Beschreibt, welche Objekte mit CLR erstellt werden können, sowie die Anforderungen zur Erstellung von CLR-Datenbankobjekten. |
Datenzugriff von CLR-Datenbankobjekten aus | Beschreibt, wie eine CLR-Routine auf Daten zugreifen kann, die in einer Instanz von SQL Server gespeichert sind. |
Sicherheit der CLR-Integration | Beschreibt das Sicherheitsmodell der CLR-Integration. |
Debuggen von CLR-Datenbankobjekten | Beschreibt Einschränkungen und Anforderungen des Debuggens von CLR-Datenbankobjekten. |
Bereitstellen von CLR-Datenbankobjekten | Beschreibt die Bereitstellung von Assemblys auf Produktionsservern. |
Verwalten von CLR-Integrationsassemblys | Beschreibt das Erstellen und Löschen der Assemblys zur CLR-Integration. |
Überwachung und Problembehandlung von verwalteten Datenbankobjekten | Enthält Informationen zu den Tools, die zum Überwachen und Beheben von Problemen mit verwalteten Datenbankobjekten und Assemblys verwendet werden können, die in SQL Server ausgeführt werden. |
Verwendungsszenarien und Beispiele für Common Language Runtime (CLR)-Integration | Beschreibt Verwendungsszenarien und Codebeispiele mit CLR-Objekten. |