Come Visualizzare i Trigger in SQL Server Management Studio

Da: Daniele Farina | Aggiornamento: 2019-04-03 | Commenti | Correlati: Più > Trigger

Problema

SQL Server dispone di molti tipi di trigger che possono essere creati, ma trovare themusingSQL Server Management Studio (SSMS) potrebbe non essere facile, se non siete sicuri di dove guardare. In questo tip guardiamo a come utilizzare SSMS per trovare e gestire bothDMLtriggers andDDL trigger.

Soluzione

SQL Server Management Studio è un’interfaccia grafica che consente all’utente diconfigurare, gestire e anche modificare gli script. Sebbene la GUI sia facile da usare, dobbiamo riconoscere che sapere dove trovare gli oggetti non è sempre così facile e questo è vero con i trigger perché ci sono diversi tipi di trigger e non sono tutti nello stesso posto inSSMS.

Trigger in SQL Server Management Studio

Esistono due tipi di trigger che possono essere creati:

  • DML (Data Manipulation Language) trigger e
  • DDL (Data Definition Language)trigger.

I trigger DML sono quelli che si attivano quando un SQLstatement tenta di modificare i dati di una determinata tabella o vista. Questi possono essere creati su tabelle e viste.

D’altra parte, DDL attiva il fuoco quando un’istruzione SQL tenta di cambiarela struttura fisica del database (cioè creare, modificare o eliminare gli oggetti del database).Inoltre, ci sono trigger DDL che si attivano quando ci sono modifiche a serverobjects (ad esempio creare, modificare o rilasciare server o database collegati).

Nelle prossime sezioni vi mostrerò come accedere ad ogni tipo di trigger withinSSMS.

Trigger SQL Server DML con ambito tabella

Se abbiamo bisogno di vedere i trigger su una tabella specifica, possiamo usare SSMS nel seguentemodo. Prima espandi i database, quindi espandi il database checontiene la tabella. Nextexpand the Tables folder and find the table you are looking forthen expand the table and expand Triggers to see a list oftriggers for the table as shown below.

 Questi sono i passaggi per trovare i trigger con ambito di tabella in SSMS.

Ora che abbiamo trovato il trigger, fare clic destro sul trigger per vedere un menu ofthings si può fare da SSMS. Se fai clic su Script Trigger comepuoi vedere i diversi script che puoi creare da SSMS come mostrato di seguito.

 Menu contestuale dei trigger con ambito di tabella.

Quel menu contestuale ti dà la possibilità di modificare, script, visualizzare le dipendenze,abilitare o disabilitare ed eliminare il trigger. L’elemento modifica apre una nuova finestra di script nell’editor SSMS con il codice sorgente del trigger script come ALTER TRIGGERstatement.

Visualizza i trigger SQL Server DML con ambito

Inoltre, SSMS può essere utilizzato per esaminare i trigger con ambito alle viste.Seguire gli stessi passaggi come se si stesse guardando un trigger con ambito tabella, ma invece di espandere la cartella Tabella espandere la cartella Viste. Thenext screen capture mostra questi passaggi in ordine.

 Questi sono i passaggi per trovare i trigger con ambito di visualizzazione in SSMS.

Inoltre, se si fa clic destro sul trigger si vedrà un menusimile alle tabelle con ambito trigger.

 Menu contestuale dei trigger con ambito di visualizzazione.

Trigger DDL con ambito database SQL Server

Se si desidera visualizzare questi trigger, accedere alla cartella Programmabilità all’interno del database e cercare una sottocartella denominata Trigger database come mostrato di seguito.

 Questi sono i passaggi per trovare i trigger con ambito di database in SSMS.

Noterai nella schermata successiva che se fai clic con il tasto destro su un databasetrigger il menu contestuale è leggermente diverso da quello dei trigger table e viewscoped. Non c’è un elemento di modifica, ma abbiamo ancora la possibilità di scriptare il trigger come istruzioni DROP e CREATE. Inoltre, come sul tavolo andview scoped trigger, abbiamo le opzioni per visualizzare le dipendenze di trigger, abilitare o disabilitare ed eliminare il trigger.

 Menu contestuale dei trigger con ambito di database.

Trigger DDL SQL Server con ambito server

Nel caso in cui vogliamo vedere i trigger DDL che influenzano l’intero servoabbiamo bisogno di guardare la cartella degli oggetti server nella vista ad albero del server. Vedrai un ramo di bambinotriggers. Espandere la cartella Trigger per visualizzare un elenco di trigger DDL con ambito server.

 Questi sono i passaggi per trovare i trigger con ambito server in SSMS.

Quando facciamo clic con il pulsante destro del mouse sul nome del trigger, vedremo un menucon gli stessi elementi dei trigger con ambito del database.

 Menu contestuale dei trigger con ambito server.
Passi successivi
  • Questo suggerimento è stato scritto utilizzando SQL Server Management Studio v17.9.Se utilizzi ancora una versione precedente di SSMS, ti suggerisco di leggere il seguente suggerimento per vedere se vale la pena aggiornarenuove funzionalità in SQL ServerManagement Studio v17. Inoltre dai un’occhiata a questo tipSQL Server Management Studio 17.x Caratteristiche importanti.
  • Se non hai installato SSMS, dai un’occhiata a questo suggerimento per una guida rapida su Come installare SQL Server Management Studio sul tuo computer locale.
  • Se si conosce il nome del trigger è possibile utilizzare la funzione di ricerca oggetti di SSMS.Puoi saperne di più quiutilizzando i dettagli di Esplora oggetti e la funzione di ricerca oggetti di SSMS 2008.
  • Se non si conosce il nome del trigger è possibile utilizzare gli script da questo suggerimento:Trova tutti i trigger di SQL Server per abilitare o disabilitare rapidamente.
  • Se è necessario attivare script per qualsiasi database, è possibile dare un’occhiata ai seguenti trigger tipScript da qualsiasi database in SQL Server.
  • Restate sintonizzati totheSQL Server Trigger suggerimenti categoria per ulteriori suggerimenti e trucchi utilizzando trigger.
  • Per ulteriori suggerimenti relativi a SSMS è possibile sfogliare theSQL Server Management Studio tips categoria.

ottenere script

accanto pulsante di punta

Circa l’autore
MSSQLTips autore Daniele FarinaDaniele Farina, nato a Buenos Aires, in Argentina. Autodidatta, fin dall’infanzia ha mostrato una passione per l’apprendimento.
Visualizza tutti i miei suggerimenti

Articolo Ultimo aggiornamento: 2019-04-03

Leave a Reply

Il tuo indirizzo email non sarà pubblicato.