Programmazione di trigger CLR

È possibile creare un oggetto di database all'interno di SQL Server programmata in un assembly creato in Microsoft .NET Framework Common Language Runtime (CLR). Tra gli oggetti di database che consentono l'utilizzo del ricco modello di programmazione offerto da CLR vi sono 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 ulteriori informazioni sulla programmazione di trigger in CLR, vedere Trigger CLR. Compilare quindi la classe per creare un assembly in .NET Framework utilizzando il compilatore appropriato.

  • Registrare l'assembly in SQL Server utilizzando l'istruzione CREATE ASSEMBLY. Per ulteriori informazioni sugli assembly in SQL Server, vedere Assembly (Motore di database).

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

Nota

Con la distribuzione di un progetto SQL Server in Microsoft Visual Studio viene registrato un assembly nel database specificato per il progetto. La distribuzione del progetto crea inoltre trigger CLR nel database per tutti i metodi annotati con l'attributo SqlTrigger. Per ulteriori informazioni, vedere Distribuzione di oggetti di database CLR.

Nota

Per impostazione predefinita, in SQL Server non è possibile eseguire codice CLR. È possibile creare, modificare ed eliminare oggetti di database che fanno riferimento a moduli di codice gestito, ma tali riferimenti non verranno eseguiti in SQL Server a meno che l'opzione clr enabled Option non venga attivata utilizzando sp_configure (Transact-SQL).

Per creare, modificare o eliminare un assembly

Per creare un trigger CLR