Programmierkonzepte für die Integration von Common Language Runtime (CLR)
Gilt für:SQL ServerAzure SQL Managed Instance
SQL Server bietet die Integration der ClR-Komponente (Common Language Runtime) von .NET Framework für Windows.
Sie können gespeicherte Prozeduren, Trigger, benutzerdefinierte Typen, benutzerdefinierte Funktionen, benutzerdefinierte Aggregate und Streamingtabellenwertfunktionen mithilfe einer beliebigen Sprache schreiben, einschließlich C# und Visual Basic .NET.
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 das .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 |
---|---|
ClR-Integration (Common Language Runtime) | Bietet eine kurze Übersicht über die CLR und beschreibt, wie und warum diese Technologie in SQL Server verwendet wird. 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. Diese Objekte werden in einer der verwalteten Codesprachen geschrieben, die von der Common Language Runtime (CLR) von .NET Framework gehostet werden, und nicht in Transact-SQL. |
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 | Beschreibt, wie eine CLR-Routine auf Daten zugreifen kann, die in einer Instanz von SQL Server gespeichert sind. |
CLR-Integrationssicherheit | 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. |
Überwachen und Behandeln von Problemen mit 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. |