Erstellen von Datenbankobjekten mit CLR-Integration (Common Language Runtime)

Gilt für:SQL Server

Sie können Datenbankobjekte mithilfe der SQL Server Integration mit der .NET Framework Common Language Runtime (CLR) erstellen. Verwalteter Code, der innerhalb von Microsoft SQL Server ausgeführt wird, wird als "CLR-Routine" bezeichnet. Diese Routinen umfassen:

  • Benutzerdefinierte Skalarwertfunktionen (Skalar-UDFs)

  • Benutzerdefinierte Tabellenwertfunktionen (TVFs)

  • Benutzerdefinierte Prozeduren (UDPs)

  • Benutzerdefinierte Trigger

CLR-Routinen haben in verwaltetem Code dieselbe Struktur. Sie werden öffentlichen, statischen (in Microsoft Visual Basic .NET freigegebenen) Methoden einer Klasse zugeordnet. Außer Routinen können auch benutzerdefinierte Typen (UDTs) und benutzerdefinierte Aggregatfunktionen mithilfe von .NET Framework definiert werden. UDTs und benutzerdefinierte Aggregatfunktionen werden ganzen .NET Framework-Klassen zugeordnet.

Jeder Typ von .NET Framework Routine verfügt über eine Transact-SQL-Deklaration und kann überall in SQL Server verwendet werden, an der die Transact-SQL-Entsprechung verwendet werden kann. Skalar-UDFs können beispielsweise in jedem Skalarausdruck verwendet werden. Eine TVF kann in jeder FROM-Klausel verwendet werden. Eine Prozedur kann in einer EXEC-Anweisung oder von einer Clientanwendung aufgerufen werden.

Hinweis

CLR-Objekte (benutzerdefinierte Funktion, benutzerdefinierter Typ oder Trigger)können auf der Common Language Runtime auf mehreren Threads (paralleler Plan) ausgeführt werden, wenn der Abfrageoptimierer feststellt, dass dies vorteilhaft ist. Wenn jedoch eine benutzerdefinierte Funktion auf Daten zugreift, erfolgt die Ausführung in einem seriellen Plan. Wenn sie auf einer Serverversion vor SQL Server 2008 (10.0.x) ausgeführt wird und eine benutzerdefinierte Funktion LOB-Parameter oder Rückgabewerte enthält, muss die Ausführung auch in einem seriellen Plan erfolgen.

In der folgenden Tabelle sind die in diesem Abschnitt behandelten Themen aufgeführt.

Erste Schritte mit der CLR-Integration
Bietet eine kurze Übersicht über die Bibliotheken und Namespaces, die zum Kompilieren von Objekten mithilfe der CLR-Integration mit SQL Server erforderlich sind. Enthält das Beispiel "Hello World" für eine CLR-gespeicherte Prozedur.

Unterstützte .NET Framework-Bibliotheken
Enthält Informationen zu den durch die CLR-Integration unterstützten .NET Framework-Bibliotheken.

Beschränkungen des Programmiermodells für die CLR-Integration
Enthält Informationen zu Beschränkungen des Programmiermodells für die CLR-Integration.

SQL Server-Datentypen in .NET Framework
Eine Übersicht über SQL Server Datentypen und deren .NET Framework Entsprechungen.

Übersicht über benutzerdefinierte Attribute der CLR-Integration
Enthält Informationen zu benutzerdefinierten Attributen der CLR-Integration.

CLR-benutzerdefinierte Funktionen
Beschreibt die Implementierung und Verwendung der unterschiedlichen CLR-Funktionstypen: Tabellenwertfunktionen, Skalarfunktionen und benutzerdefinierte Aggregatfunktionen.

Benutzerdefinierte CLR-Typen
Beschreibt die Implementierung und Verwendung von CLR-benutzerdefinierten Typen.

CLR-gespeicherte Prozeduren
Beschreibt die Implementierung und Verwendung von CLR-gespeicherten Prozeduren.

CLR-Auslöser
Beschreibt die Implementierung und Verwendung von CLR-Triggern.

Weitere Informationen

Übersicht über die CLR-Integration (Common Language Runtime)