Creare script per oggetti in SQL Server Management Studio

In questa esercitazione viene illustrato come generare script Transact-SQL (T-SQL) per vari oggetti presenti in SQL Server Management Studio (SSMS). In questa esercitazione è possibile trovare esempi di come creare script per gli oggetti seguenti:

  • Query, quando si eseguono azioni all'interno della GUI
  • Database in due modalità diverse (Script come e Genera Script)
  • Tabelle
  • Stored procedure
  • Eventi estesi

Per creare lo script per un oggetto in Esplora oggetti, fare clic con il pulsante destro del mouse su di esso e scegliere l'opzione Script Object As (Crea script per oggetto). Questa esercitazione illustra il processo.

Prerequisiti

Per completare questa esercitazione, sono necessari SQL Server Management Studio, l'accesso a un server che esegue SQL Server e un database AdventureWorks.

Le istruzioni per il ripristino dei database in SSMS sono disponibili in Ripristinare un database.

Creare script di query dalla GUI

È possibile generare il codice T-SQL associato per un'attività quando si usa la GUI in SSMS per completarla. Negli esempi seguenti viene illustrato come effettuare questa operazione quando si esegue il backup di un database e quando si compatta il log delle transazioni. Questi stessi passaggi possono essere applicati a qualsiasi azione che viene completata tramite la GUI.

Generare script T-SQL quando si esegue il backup di un database

  1. Connettersi a un server che esegue SQL Server.

  2. Espandere il nodo di Database .

  3. Fare clic con il pulsante destro del mouse sul database Adventureworks2012>Attività>Backup:

    Back up a database

  4. Configurare il backup in base alle preferenze. Per questa esercitazione, sono stati lasciati tutti i valori predefiniti. Tutte le modifiche apportate nella finestra si riflettono tuttavia nello script.

  5. Selezionare Script>Genera script azione in nuova finestra Query:

    Script database backup--script action

  6. Esaminare il codice T-SQL compilato nella finestra della query.

    Script database backup--review T-SQL

  7. Selezionare Esegui per eseguire la query per il backup del database tramite T-SQL.

Generare script T-SQL quando si compatta il log delle transazioni

  1. Fare clic con il pulsante destro del mouse sul database AdventureWorks2022>Attività>Compatta>File:

    Shrink files

  2. Selezionare Log nell'elenco a discesa Tipo file:

    Shrink transaction log

  3. Selezionare Script e quindi Genera script azione negli Appunti:

    Script to clipboard

  4. Aprire una finestra Nuova query e incollare. Fare clic con il pulsante destro del mouse nella finestra e scegliere Incolla.

    Paste script

  5. Selezionare Esegui per eseguire la query e compattare il log delle transazioni.

Generare script di database

Nella sezione seguente viene illustrato come generare uno script per un database usando le opzioni Script come e Genera script. L'opzione Script come ricrea il database e le relative opzioni di configurazione. È possibile generare lo script sia per lo schema che per i dati usando l'opzione Genera script. In questa sezione si creano due nuovi database. Si usa l'opzione Script come per creare AdventureWorks2022a. Si usa l'opzione Genera script per creare AdventureWorks2022b.

Generare lo script di un database usando l'opzione Script

  1. Connettersi a un server che esegue SQL Server.

  2. Espandere il nodo di Database .

  3. Fare clic con il pulsante destro del mouse sul database AdventureWorks2022>Crea script per database>Genera codice per istruzione CREATE in>Nuova finestra editor di query:

    Script database

  4. Esaminare la query di creazione del database nella finestra:

    Scripted-out databaseQuesta opzione consente di generare solo le opzioni di configurazione del database.

  5. Premere CTRL+F per aprire la finestra di dialogo Trova. Selezionare la freccia verso il basso per aprire l'opzione Sostituzione. Nella riga in alto della finestra Trova digitare AdventureWorks2022 e nella riga inferiore Sostituzione digitare AdventureWorks2022a.

  6. Selezionare Replace All (Sostituisci tutto) per sostituire tutte le istanze di AdventureWorks2022 con AdventureWorks2022a.

    Find and replace

  7. Selezionare Esegui per eseguire la query e creare un nuovo database AdventureWorks2022a.

Generare lo script di un database usando l'opzione Genera script

  1. Connettersi a un server che esegue SQL Server.

  2. Espandere il nodo di Database .

  3. Fare clic con il pulsante destro del mouse su AdventureWorks2022>Attività>Genera script:

    Generate scripts for databases

  4. Si apre la pagina Introduzione. Selezionare Avanti per aprire la pagina Seleziona oggetti. È possibile selezionare l'intero database o oggetti specifici del database. Selezionare Genera script per l'intero database e tutti gli oggetti di database.

    Generate scripts for objects

  5. Selezionare Avanti per aprire la pagina Imposta opzioni di generazione script, in cui è possibile configurare la posizione in cui salvare lo script e alcune altre opzioni avanzate.

    a. Selezionare Salva in una nuova finestra Query.

    b. Selezionare Avanzate e verificare che le opzioni seguenti siano impostate come segue:

    • Script per statistiche impostato su Genera script per statistiche.
    • Tipi di dati per cui generare lo script impostato su Solo schema.
    • Script per indici impostato su True.

    Script objects

    Nota

    È possibile creare lo script di dati per il database quando si seleziona Schema e dati per l'opzione Tipi di dati per cui generare lo script. Non è tuttavia l'ideale con database di grandi dimensioni perché può richiedere più memoria di quanta ne possa essere allocata da SSMS. Questa limitazione è accettabile per i database di piccole dimensioni. Per spostare i dati per un database di dimensioni maggiori, usare lImportazione/Esportazione guidata.

  6. Seleziona OK e quindi Avanti.

  7. Selezionare Avanti nel riepilogo, quindi selezionare nuovamente Avanti per generare lo script in una finestra Nuova query.

  8. Aprire la finestra di dialogo Trova premendo CTRL+F. Selezionare la freccia verso il basso per aprire l'opzione Sostituzione. Nella riga superiore Trova immettere AdventureWorks2022. Nella riga inferiore Sostituisci immettere AdventureWorks2022b.

  9. Selezionare Replace All (Sostituisci tutto) per sostituire tutte le istanze di AdventureWorks2022 con AdventureWorks2022b.

    AdventureWorks 2016

  10. Selezionare Esegui per eseguire la query e creare un nuovo database AdventureWorks2022b.

Generare script per tabelle

In questa sezione viene illustrato come generare script di tabelle dal database. Usare questa opzione per creare la tabella o eliminare e creare la tabella. È anche possibile usare questa opzione per creare lo script T-SQL associato modificando la tabella. È ad esempio possibile inserirla o aggiornarla al suo interno. In questa sezione viene eliminata e ricreata una tabella.

  1. Connettersi a un server che esegue SQL Server.

  2. Espandere il nodo Database.

  3. Espandere il nodo del database AdventureWorks2022.

  4. Espandere il nodo Tabelle.

  5. Fare clic con il pulsante destro del mouse su dbo.ErrorLog>Crea script per tabella>Genera codice per istruzioni DROP e CREATE in>Nuova finestra editor di query:

    Script table

  6. Selezionare Esegui per eseguire la query. Questa azione elimina la tabella Errorlog e la ricrea.

    Nota

    La tabella Errorlog è vuota per impostazione predefinita nel database AdventureWorks2022. Eliminando la tabella, non verrà quindi perso alcun dato. Tuttavia, se si segue la procedura con una tabella contenente dati, questi vanno persi.

Generare script per stored procedure

In questa sezione viene illustrato come eliminare e creare una stored procedure.

  1. Connettersi a un server che esegue SQL Server.

  2. Espandere il nodo Database.

  3. Espandere il nodo Programmabilità.

  4. Espandere il nodo Stored procedure.

  5. Fare clic con il pulsante destro del mouse sulla stored procedure dbo.uspGetBillOfMaterials>Crea script per stored procedure>Genera codice per istruzioni DROP e CREATE in>Nuova finestra editor di query:

    Script stored procedures

Generare script per eventi estesi

In questa sezione viene illustrato come inserire nello script gli eventi estesi.

  1. Connettersi a un server che esegue SQL Server.

  2. Espandere il nodo Gestione.

  3. Espandere il nodo Eventi estesi.

  4. Espandere il nodo Sessioni.

  5. Fare clic con il pulsante destro del mouse sulla sessione estesa a cui si è interessati in >Crea script per sessione>Genera codice per istruzione CREATE in>Nuova finestra editor di query:

    Extended New Query Editor Window session

  6. In Nuova finestra editor di query modificare il nuovo nome della sessione da system_health a system_health2. Selezionare Esegui per eseguire la query.

  7. Fare clic con il pulsante destro del mouse su Sessioni in Esplora oggetti. Selezionare Aggiorna per visualizzare la nuova sessione di eventi estesi. L'icona verde accanto alla sessione indica che la sessione è in esecuzione. L'icona rossa indica che la sessione è stata arrestata.

    New extended event session

    Nota

    È possibile avviare la sessione selezionandola con il pulsante destro del mouse e scegliendo Avvia. Si tratta tuttavia di una copia della sessione system_health già in esecuzione, quindi è possibile ignorare questo passaggio. È possibile eliminare la copia della sessione di eventi estesi: fare clic con il pulsante destro del mouse su di essa e scegliere Elimina.

Passaggi successivi

Il modo migliore per acquisire familiarità con SSMS è la pratica diretta. Questa esercitazione e questi articoli di procedure sono utili per varie funzionalità disponibili in SSMS. Questi articoli illustrano come gestire i componenti di SSMS e individuare le funzionalità usate regolarmente.