Implementare trigger DDL

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

In questo argomento vengono fornite informazioni sulla creazione, la modifica, la disabilitazione o l'eliminazione di trigger DDL.

Creazione di trigger DDL

I trigger DDL vengono creati mediante l'istruzione Transact-SQL CREATE TRIGGER per trigger DDL.

Per creare un trigger DDL

Importante

Nelle versioni future di SQL Server la possibilità di ottenere risultati dai trigger non sarà più disponibile. I trigger che restituiscono set di risultati possono provocare comportamenti imprevisti nelle applicazioni che non sono state progettate per il loro utilizzo. Evitare di restituire set di risultati dai trigger in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni che attualmente li restituiscono. Per impedire che i trigger restituiscano set di risultati in SQL Server, impostare l'opzione disallow results from su 1. L'impostazione predefinita per questa opzione sarà 1 nella prossima versione di SQL Server.

Modifica di trigger DDL

Se è necessario modificare la definizione di un trigger DDL, è possibile eliminare e creare nuovamente il trigger oppure ridefinire il trigger esistente in un unico passaggio.

Se si modifica il nome di un oggetto a cui fa riferimento un trigger DDL, è necessario modificare il trigger in modo che il testo corrisponda al nuovo nome. Pertanto, prima di rinominare un oggetto, visualizzare le dipendenze dell'oggetto per determinare se la modifica proposta interessa i trigger.

È inoltre possibile modificare i trigger per crittografarne la definizione.

Per modificare un trigger

Per visualizzare le dipendenze di un trigger

Disabilitazione ed eliminazione di trigger DDL

Quando un trigger DDL non è più necessario, è possibile disabilitarlo o eliminarlo.

La disabilitazione di un trigger DDL non ne comporta l'eliminazione. Il trigger continua a esistere come oggetto nel database corrente ma non viene attivato quando viene eseguita una qualsiasi istruzione Transact-SQL in cui è stato programmato. I trigger DDL disabilitati possono essere riabilitati. A seguito di tale operazione, il trigger DDL viene attivato nello stesso modo in cui è stato attivato al momento della creazione. Per impostazione predefinita, i trigger DDL vengono abilitati al momento della creazione.

Quando si elimina un trigger DDL, questo viene rimosso dal database corrente. Ciò non ha alcun effetto sugli oggetti o sui dati per il cui ambito il trigger DDL è stato definito.

Per disabilitare un trigger DDL

Per abilitare un trigger DDL

Per eliminare un trigger DDL