Programmieren von CLR-Triggern

Sie können ein Datenbankobjekt in 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. 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 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 zu Assemblys in SQL Server finden Sie unter Assemblys (Database Engine).

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

HinweisHinweis

Bei der Bereitstellung eines SQL Server-Projekts in MicrosoftVisual 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 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 clr enabled-Option mithilfe von sp_configure (Transact-SQL) aktiviert wird.

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

So erstellen Sie einen CLR-Trigger