Freigeben über


Erstellen von CLR-Triggern

Gilt für:SQL Server

Sie können ein Datenbankobjekt innerhalb von SQL Server erstellen, das in einer Assembly programmiert ist, die in der Common Language Runtime (CLR) von .NET Framework erstellt wurde. Datenbankobjekte, die das vom CLR bereitgestellte umfangreiche Programmiermodell verwenden können, umfassen DML-Trigger, DDL-Trigger, gespeicherte Prozeduren, Funktionen, Aggregatfunktionen und Typen.

Das Erstellen eines CLR-Triggers (DML oder DDL) in SQL Server umfasst folgende Schritte:

  • Definieren des Triggers als Klasse in einer von .NET Framework unterstützten Sprache. Weitere Informationen zum Programmieren von Triggern in der CLR finden Sie unter CLR-Trigger. Kompilieren Sie dann die Klasse, um eine Assembly im .NET Framework zu erstellen, indem Sie den entsprechenden Sprach-Compiler verwenden.

  • Registrieren Sie die Assembly in SQL Server mithilfe der CREATE ASSEMBLY-Anweisung. Weitere Informationen zum Arbeiten mit Assemblys in SQL Server finden Sie unter Assemblies (Datenbank-Engine).

  • Erstellen Sie den Trigger, der auf die registrierte Assembly verweist.

Hinweis

Bei der Bereitstellung eines SQL Server-Projekts in Visual Studio wird eine Assembly in der Datenbank registriert, die für das Projekt angegeben wurde. Bei der Bereitstellung des Projekts werden in der Datenbank außerdem CLR-Trigger für alle Methoden erstellt, die mit dem SqlTrigger-Attribut kommentiert wurden. Weitere Informationen finden Sie unter Bereitstellen von CLR-Datenbankobjekten.

Das Ausführen von CLR-Code ist in SQL Server standardmäßig deaktiviert. Sie können Datenbankobjekte erstellen, ändern und ablegen, die auf verwaltete Codemodule verweisen. Diese Verweise werden jedoch nicht in SQL Server ausgeführt, sofern die Serverkonfigurationsoption clr enabled nicht mithilfe von sp_configure aktiviert wird.

Erstellen, Ändern oder Entfernen einer Assembly

Erstellen eines CLR-Triggers