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 Microsoft .NET Framework erstellt wurde. Datenbankobjekte, die das reichhaltige Programmiermodell nutzen können, das von der CLR (Common Language Runtime) bereitgestellt wird, sind z. B. DML-Trigger, DDL-Trigger, gespeicherte Prozeduren, Funktionen, Aggregatfunktionen und Typen.

Das Erstellen eines CLR-Triggers (DML oder DDL) in SQL Server umfasst die folgenden 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 in .NET Framework mit dem entsprechenden Sprachcompiler zu erstellen.

  • Registrieren Sie die Assembly in SQL Server mithilfe der CREATE ASSEMBLY-Anweisung. Weitere Informationen zu Assemblys in SQL Server finden Sie unter Assemblys (Database Engine).For more information about assemblies in SQL Server, see Assemblies (Database Engine).

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

Hinweis

Durch die Bereitstellung eines SQL Server-Projekts in Microsoft 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 auch CLR-Trigger für alle Methoden erstellt, die mit dem SqlTrigger -Attribut versehen sind. Weitere Informationen finden Sie unter Deploying CLR Database Objects.

Hinweis

Die Fähigkeit von SQL Server, CLR-Code auszuführen, ist 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, es sei denn, die aktivierte Clr-Option ist mit sp_configure (Transact-SQL) aktiviert.

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

So erstellen Sie einen CLR-Trigger

Weitere Informationen

DML-Trigger
Programmierkonzepte für die Common Language Runtime (CLR)-Integration
Datenzugriff von CLR-Datenbankobjekten aus