Freigeben über


Erstellen CLR-gespeicherter Prozeduren

In SQL Server 2008 können Sie ein Datenbankobjekt in einer Instanz von SQL Server erstellen, das in einer Assembly programmiert wird, die in der Microsoft .NET Framework-CLR (Common Language Runtime) erstellt wird.Datenbankobjekte, die das reichhaltige Programmiermodell nutzen können, das von der CLR (Common Language Runtime) bereitgestellt wird, sind z. B. Trigger, gespeicherte Prozeduren, Funktionen, Aggregatfunktionen und Typen.

Das Erstellen einer CLR-gespeicherten Prozedur in SQL Server umfasst die folgenden Schritte:

  • Definieren der gespeicherten Prozedur als statische Methode einer Klasse in einer Sprache, die von .NET Framework unterstützt wird. Weitere Informationen zum Programmieren CLR-gespeicherter Prozeduren finden Sie unter CLR-gespeicherte Prozeduren. Kompilieren Sie die Klasse mithilfe des entsprechenden Sprachcompilers, um eine Assembly in .NET Framework zu erstellen.

  • Registrieren der Assembly in SQL Server mithilfe der CREATE ASSEMBLY-Anweisung. Weitere Informationen zum Arbeiten mit Assemblys in SQL Server finden Sie unter Assemblys.

  • Erstellen der gespeicherten Prozedur, die auf die registrierte Assembly verweist, mithilfe der CREATE PROCEDURE-Anweisung.

HinweisHinweis

Beim Bereitstellen eines SQL Server-Projekts in Microsoft Visual Studio wird eine Assembly in der Datenbank registriert, die für das Projekt angegeben war.Beim Bereitstellen des Projekts werden in der Datenbank für alle Methoden, die mit dem SqlProcedure-Attribut versehen sind, auch CLR-gespeicherte Prozeduren erstellt. Weitere Informationen finden Sie unter Bereitstellen von CLR-Datenbankobjekten.

HinweisHinweis

Die Funktion zum Ausführen von CLR-Code ist in SQL Server standardmäßig deaktiviert. Sie können Datenbankobjekte, die auf verwaltete Codemodule verweisen, erstellen, ändern oder löschen; diese Verweise werden jedoch nur dann in SQL Server ausgeführt, wenn die Option clr enabled mithilfe von sp_configure (Transact-SQL) aktiviert wird.

So erstellen, ändern oder löschen Sie eine Assembly

So erstellen Sie eine CLR-gespeicherte Prozedur