Condividi tramite


Creare trigger CLR

Si applica a:SQL Server

È possibile creare un oggetto di database all'interno di SQL Server programmato in un assembly creato in Common Language Runtime (CLR) di .NET Framework. Gli oggetti di database che possono usare il modello di programmazione avanzato fornito da CLR includono trigger DML, trigger DDL, stored procedure, funzioni, funzioni di aggregazione e tipi.

Per creare un trigger CLR (DML o DDL) in SQL Server, eseguire le operazioni seguenti:

  • Definire il trigger come una classe in un linguaggio supportato da .NET Framework. Per altre informazioni sulla programmazione di trigger in CLR, vedere Trigger CLR. Quindi, compilare la classe per compilare un assembly in .NET Framework utilizzando il compilatore per il linguaggio appropriato.

  • Registrare l'assembly in SQL Server usando l'istruzione CREATE ASSEMBLY. Per altre informazioni sugli assembly in SQL Server, vedere Assembly (motore di database).

  • Creare il trigger che fa riferimento all'assembly registrato.

Nota

La distribuzione di un progetto di SQL Server in Visual Studio registra un assembly nel database specificato per il progetto. La distribuzione del progetto crea anche trigger CLR nel database per tutti i metodi annotati con l'attributo SqlTrigger. Per ulteriori informazioni, consultare Distribuire oggetti di database CLR.

L'esecuzione di codice CLR è disattivata per impostazione predefinita in SQL Server. È possibile creare, modificare ed eliminare oggetti di database che fanno riferimento a moduli di codice gestito, ma questi riferimenti non vengono eseguiti in SQL Server, a meno che l'opzione di configurazione del server clr abilitata per server non sia abilitata tramite sp_configure.

Creare, modificare o eliminare un assembly

Creare un trigger CLR