Implementazione di trigger DDL
In questo argomento vengono fornite informazioni sulla creazione, la modifica, la disattivazione 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
Per eliminare un trigger DDL
Importante |
---|
La restituzione di set di risultati dai trigger verrà rimossa a partire da una delle prossime versioni di SQL Server. 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 2008, impostare l'opzione disallow results from triggers su 1. L'impostazione predefinita per questa opzione sarà 1 nella prossima versione di SQL Server. |
[!NOTA]
I trigger DDL con ambito server sono disponibili in Esplora oggetti di SQL Server Management Studio nella cartella Trigger all'interno della cartella Oggetti server. I trigger DDL con ambito database sono inclusi nella cartella Trigger database all'interno della cartella Programmabilità del database corrispondente.
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
Disattivazione ed eliminazione di trigger DDL
Quando un trigger DDL non è più necessario, è possibile disattivarlo o eliminarlo.
La disattivazione 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 disattivati possono essere riattivati. 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 attivati 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 disattivare un trigger DDL
Per attivare un trigger DDL
Per eliminare un trigger DDL