Procedura guidata Genera script

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

Questo articolo illustra come usare la Procedura guidata per la generazione di script per creare script per il trasferimento di un database tra istanze di SQL Server, del database SQL di Azure o dell'istanza gestita di SQL di Azure.

È possibile generare script per un database SQL Server nella rete locale o da Azure SQL. Gli script generati possono essere eseguiti su un'altra istanza di SQL Server o su Azure SQL. È possibile creare script per un intero database o limitare la creazione a oggetti specifici.

Per una esercitazione più dettagliata sull'uso della procedura guidata per la generazione di script, vedere Esercitazione: procedura guidata per la generazione di script.

Prerequisiti

Il database di origine e di destinazione può trovarsi nel database SQL di Azure, in un'istanza gestita di SQL di Azure o un'istanza del motore di database che esegue SQL Server 2005 (9.x) o versioni successive.

Autorizzazioni

L'autorizzazione minima per generare gli script è l'appartenenza al ruolo predefinito del database db_ddladmin sul database di origine.

Usare la procedura guidata per la generazione di script

  1. In Esplora oggettiespandere il nodo dell'istanza contenente il database per il quale generare lo script.

  2. Fare clic con il pulsante destro del mouse sul database di cui si vuole creare lo script e selezionare Attività>Genera script.

    Screenshot della procedura guidata per la generazione di script.

  3. Completare le finestre di dialogo della procedura guidata.

Pagina Introduzione

In questa pagina vengono descritti i passaggi per la generazione di uno script.

Non visualizzare più questa pagina : consente di non visualizzare più questa pagina al successivo avvio della procedura guidata per la generazione di script.

Screenshot della pagina Introduzione.

Pagina Seleziona oggetti

Usare questa pagina per scegliere quali oggetti si desidera includere negli script generati dalla procedura guidata.

Opzione Genera script per intero database: selezionare questa opzione per generare script per tutti gli oggetti del database e includere uno script per il database stesso.

Screenshot dello script dell'intero database.

Seleziona oggetti di database specifici: selezionare questa opzione per limitare la generazione degli script solo agli oggetti specifici nel database prescelto:

  • Oggetti di database : consente di selezionare almeno un oggetto da includere nello script.

  • Seleziona tutto : consente di selezionare tutte le caselle di controllo disponibili.

  • Deseleziona tutto : consente di deselezionare tutte le caselle di controllo. Per continuare, selezionare almeno un oggetto di database.

    Screenshot di uno script specifico.

Pagina Imposta opzioni di scripting

Usare questa pagina per specificare se si desidera che tramite la procedura guidata gli script vengano salvati nel percorso prescelto.

Opzioni : se si vuole che gli script vengano salvati in un percorso specifico, selezionare Salva script in un percorso specifico. È possibile eseguire in un secondo momento gli script rispetto a un'istanza di Motore di database o rispetto al database SQL.

Salva script in un percorso specifico: consente di salvare uno o più file script Transact-SQL in un percorso specificato dall'utente.

Screenshot di Salva come notebook.

  • Save as notebook (Salva come notebook): consente di salvare lo script in uno o più file con estensione sql. Selezionare il pulsante Sfoglia (...) per specificare il nome e il percorso del file.

  • Salva come script: consente di salvare lo script in uno o più file con estensione sql. Selezionare il pulsante Sfoglia (...) per specificare il nome e il percorso del file. Selezionare la casella di controllo Sovrascrivi file esistente per sostituire il file se ne esiste già uno con lo stesso nome. Selezionare Genera script in un singolo file o One script file per object (Un file script per oggetto) per specificare come devono essere generati gli script. Selezionare Testo Unicode o Testo ANSI per specificare il tipo di testo che deve essere usato nello script.

  • Salva negli Appunti : consente di salvare lo script Transact-SQL negli Appunti.

  • Apri in nuova finestra Query: consente di generare lo script in una finestra dell'editor di query del motore di database. Se non vi sono finestre dell'editor aperte, viene aperta una nuova finestra dell'editor da usare come destinazione dello script.

  • Avanzate: consente di visualizzare la finestra di dialogo Opzioni di scripting avanzate in cui è possibile selezionare opzioni di scripting avanzate.

Pagina Opzioni di scripting avanzate

Usare questa pagina per specificare come si desidera che vengano generati gli script tramite la procedura guidata. Sono disponibili molte opzioni diverse. Le opzioni sono visualizzate in grigio se non sono supportate dalla versione di SQL Server o del database SQL specificata in Tipo di motore di database.

Screenshot delle Opzioni avanzate.

Opzioni : consente di specificare le opzioni avanzate selezionando un valore tra quelli disponibili nell'elenco visualizzato a destra di ciascuna opzione.

Generale: le opzioni seguenti si applicano all'intero script.

  • Riempimento ANSI: consente di includere ANSI PADDING ON nello script. Il valore predefinito è False.

  • Accoda a file : se è impostato su True, questo script viene aggiunto alla fine di uno script esistente specificato nella pagina Imposta opzioni di generazione script . Se è impostato su False, il nuovo script sovrascrive uno script precedente. Il valore predefinito è False.

  • Verifica esistenza oggetto - Quando True aggiunge la verifica dell'esistenza prima di generare l'istruzione di creazione per gli oggetti SQL. Ad esempio: tabelle, viste, funzioni o stored procedure. Per l'istruzione CREATE viene eseguito il wrapping in un'istruzione IF. Se si sa che la destinazione è pulita, lo script è molto più pulito. Se si prevede che gli oggetti NON esistano nella destinazione, si riceve un errore. Il valore predefinito è False.

  • Continua generazione script in caso di errore: se è impostato su False, la generazione di script viene arrestata in caso di errore. Se è impostato su True, la generazione di script continua. Il valore predefinito è False.

  • Converti UDDT in tipi di base : se è impostato su True, i tipi di dati definiti dall'utente (UDDT) vengono convertiti nei tipi di dati di base sottostanti che erano stati usati per crearli. Usare Vero se il tipo di dati UDDT non esiste nel database in cui viene eseguito lo script. Se è impostato su False, vengono usati gli UDDT. Il valore predefinito è False.

  • Genera script per oggetti dipendenti : consente di generare uno script per un oggetto la cui presenza è necessaria quando viene eseguito lo script per l'oggetto selezionato. Il valore predefinito è Vero per l'opzione Script dell'intero database e Falso per Selezionare oggetti di database specifici.

  • Includi intestazioni descrittive : se è impostato su True, allo script vengono aggiunti commenti descrittivi dividendolo in sezioni per ogni oggetto. Il valore predefinito è False.

  • Includi se NON ESISTE: se è impostato su True, lo script include un'istruzione che verifica se l'oggetto esiste già nel database e non prova a creare un nuovo oggetto se già presente. Il valore predefinito è False.

  • Includi nomi di vincoli di sistema: se è impostato su False, i valori predefiniti dei vincoli nominati automaticamente nel database di origine vengono rinominati nel database di destinazione. Se è impostato su True, i vincoli hanno lo stesso nome nel database di origine e in quello di destinazione.

  • Includi istruzioni non supportate: se è impostato su Falso, lo script non contiene istruzioni per oggetti che non sono supportati nella versione del server o nel tipo di motore selezionati. Se impostato su Vero, lo script contiene gli oggetti non supportati. Ogni istruzione per un oggetto non supportato è accompagnata da un commento, che specifica che è necessario modificare l'istruzione prima di poter eseguire lo script con la versione di SQL Server o il tipo di motore selezionati. Il valore predefinito è False.

  • Schema per qualifica dei nomi degli oggetti : consente di includere il nome dello schema nel nome degli oggetti che vengono creati. Il valore predefinito è True.

  • Genera script per associazioni : consente di generare uno script per l'associazione di oggetti predefiniti e oggetti della regola. Il valore predefinito è False. Per altre informazioni, vedere CREATE DEFAULT (Transact-SQL) e CREATE RULE (Transact-SQL).

  • Script per regole di confronto : consente di includere nello script le informazioni sulle regole di confronto. Il valore predefinito è False. Per ulteriori informazioni, vedere Supporto per Unicode e regole di confronto.

  • Script per valori predefiniti : consente di includere nelle colonne della tabella gli oggetti predefiniti usati per impostare i valori predefiniti. Il valore predefinito è True. Per altre informazioni, vedere Valori predefiniti delle colonne.

  • Genera script per DROP e CREATE : se è impostato su Genera script per CREATE, vengono incluse le istruzioni Transact-SQL per creare oggetti. Se impostato su Genera script per DROP, vengono incluse le istruzioni Transact-SQL per eliminare oggetti. Se è impostato su Genera script per DROP e CREATE, nello script viene inclusa l'istruzione Transact-SQL di eliminazione seguita dall'istruzione di creazione per ogni oggetto inserito nello script. Il valore predefinito è Genera script per CREATE.

  • Script per proprietà estese : consente di includere le proprietà estese nello script, se presenti nell'oggetto. Il valore predefinito è True.

  • Script per il tipo di motore: consente di creare uno script che può essere eseguito nel tipo selezionato di database SQL o di un'istanza del Motore di database di SQL Server. Oggetti non supportati sul tipo specificato non sono inclusi nello script. Il tipo predefinito è quello del server di origine.

  • Script per versione server: consente di creare uno script eseguibile nella versione selezionata di SQL Server. Per le nuove funzionalità non è possibile generare script per le versioni precedenti. La versione predefinita è quella del server di origine.

  • Script per account di accesso : se l'oggetto per il quale generare uno script è un utente di database, questa opzione consente di creare gli account di accesso da cui l'utente dipende. Il valore predefinito è False.

  • Script per autorizzazioni a livello oggetto : consente di includere script per l'impostazione dell'autorizzazione per gli oggetti del database. Il valore predefinito è False.

  • Script per statistiche: se è impostato su Script per statistiche, questa opzione include l'istruzione CREATE STATISTICS per ricreare le statistiche per l'oggetto. L'opzione Genera script per statistiche e istogrammi consente inoltre di creare informazioni sugli istogrammi. Il valore predefinito è Non generare script per statistiche. Per altre informazioni, vedere CREATE STATISTICS (Transact-SQL).

  • Script per USA DATABASE: consente di aggiungere l'istruzione USE DATABASE allo script. Per verificare che gli oggetti di database vengano creati nel database corretto, includere l'istruzione USE DATABASE. Se si prevede di usare lo script in un database diverso, selezionare Falso per omettere l'istruzione USE DATABASE. Il valore predefinito è True. Per altre informazioni, vedere USE (Transact-SQL).

  • Tipi di dati per cui generare lo script : consente di selezionare cosa deve essere inserito negli script: Solo dati, Solo schemao entrambi. Il valore predefinito è Solo schema.

Opzioni tabella/vista : le opzioni seguenti si applicano solo agli script per tabelle o viste.

  • Script per il rilevamento modifiche: consente di generare script per il rilevamento delle modifiche se è abilitato nel database di origine o nelle tabelle del database di origine. Il valore predefinito è False. Per altre informazioni, vedere Informazioni sul rilevamento delle modifiche (SQL Server).

  • Script per vincoli check: consente di aggiungere vincoli CHECK allo script. Il valore predefinito è True. I vincoli CHECK richiedono che i dati immessi in una tabella rispettino una condizione specificata. Per altre informazioni, vedere Vincoli univoci e vincoli check.

  • Genera script per le opzioni di compressione dati: consente di includere le opzioni di compressione dati, se sono configurate nel database di origine o nelle tabelle del database di origine. Per ulteriori informazioni, vedi Compressione dei dati. Il valore predefinito è False.

  • Script per chiavi esterne : consente di aggiungere chiavi esterne allo script. Il valore predefinito è True. Le chiavi esterne indicano e impongono le relazioni tra tabelle.

  • Script per indici full-text : consente di generare script per la creazione di indici full-text. Il valore predefinito è False.

  • Script per indici : consente di generare script per la creazione di indici. Il valore predefinito è Vero per l'opzione Script dell'intero database e Falso per Selezionare oggetti di database specifici. Gli indici consentono di trovare dati rapidamente.

  • Script per chiavi primarie : consente di generare script per la creazione di chiavi primarie nelle tabelle. Il valore predefinito è True. Le chiavi primarie identificano in modo univoco ogni riga di una tabella.

  • Script per trigger : consente di generare script per la creazione di trigger DML nelle tabelle. Il valore predefinito è False. Un trigger DML è un'azione programmata per l'esecuzione quando si verifica un evento DML (Data Manipulation Language) nel server di database. Per altre informazioni, vedere DML Triggers.

  • Script per chiavi univoche : consente di generare script per la creazione di chiavi univoche nelle tabelle. Le chiavi univoche impediscono l'immissione di dati duplicati. Il valore predefinito è True. Per altre informazioni, vedere Vincoli univoci e vincoli check.

Pagina Riepilogo

Screenshot del riepilogo GS.

In questa pagina vengono riepilogate le opzioni selezionate nella procedura guidata. Per modificare un'opzione, selezionare Indietro. Per iniziare a generare script, selezionare Avanti.

Verificare le selezioni: consente di visualizzare le opzioni selezionate per ogni pagina della procedura guidata. Espandere un nodo per visualizzare le opzioni selezionate per la pagina corrispondente.

Pagina Salva script

Usare questa pagina per monitorare lo stato di avanzamento della procedura guidata durante l'esecuzione.

Dettagli : consente di visualizzare la colonna Azione per vedere lo stato di avanzamento della procedura guidata. Dopo aver generato gli script, la procedura guidata salva gli script in un file. Al termine di ogni passaggio selezionare il valore nella colonna Risultato per vedere il risultato del passaggio corrispondente.

Salva report: selezionare questa opzione per salvare i risultati dello stato della procedura guidata in un file.

Annulla: selezionare questa opzione per chiudere la procedura guidata prima che venga completata o se si verifica un errore.

Fine: selezionare questa opzione per chiudere la procedura guidata dopo che è stata completata o se si verifica un errore.

Salva script

Screenshot di Fine.

Se tutte le impostazioni sono corrette, la configurazione viene completata correttamente.

Generazione di script in Azure Synapse Analytics

Se la sintassi generata tramite "Script come..." non corrisponde alla sintassi di Azure Synapse Analytics o se viene visualizzato un messaggio di errore, può essere necessario impostare le opzioni di scripting in SQL Server Management Studio su Azure Synapse Analytics.

Come impostare le opzioni di scripting su SQL Data Warehouse

Per creare script di oggetti con sintassi di Azure Synapse Analytics, impostare l'opzione di scripting predefinita su Azure Synapse Analytics, come indicato di seguito:

  1. Selezionare Strumenti e quindi Opzioni.
  2. Selezionare Esplora oggetti di SQL Server e Scripting.
  3. In Opzioni di versione impostare Corrispondenza delle impostazioni dello script con l'origine su False.
    1. Impostare Script per il tipo di motore di database su Edizione Database SQL di Microsoft Azure.
    2. Per i pool SQL dedicati in Azure Synapse Analytics, impostare Script per l'edizione del motore di database su Edizione Microsoft Azure SQL Data Warehouse.
  4. Seleziona OK.

Come generare script per SQL Data Warehouse quando non è l'opzione di scripting predefinita

Se si imposta Azure Synapse Analytics come opzione di scripting predefinita come illustrato in precedenza, è possibile ignorare queste istruzioni. Se tuttavia si sceglie di usare opzioni di scripting predefinite diverse, è possibile riscontrare un errore. Per evitare errori, seguire questa procedura per generare script per Azure Synapse Analytics:

  1. In Esplora oggetti fare clic con il pulsante destro del mouse sul pool SQL dedicato in Database.
  2. Selezionare Genera script.
  3. Scegliere gli oggetti per i quali generare script.
  4. In Opzioni di scripting selezionare Avanzate. In Generale impostare:
    1. Script per il tipo di motore di database: Database SQL di Microsoft Azure.
    2. Script per l'edizione del motore di database: Edizione di Microsoft Azure SQL Data Warehouse.
  5. Selezionare Salva script e quindi Fine.

Le opzioni impostate nel passaggio 4 non vengono memorizzate. Se si vuole che queste opzioni vengano memorizzate, seguire le istruzioni in Come impostare le opzioni di scripting su SQL Data Warehouse.