Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Database SQL di Azure
Istanza gestita di SQL di Azure
Azure Synapse Analytics
Analytics Platform System (PDW)
Questo articolo illustra come utilizzare la Creazione Guidata Genera Script per creare script al fine di trasferire un database tra le istanze di SQL Server, il database SQL di Azure o l'Istanza gestita di SQL di Azure.
È possibile generare script per un database DI SQL Server nella rete locale o da Azure SQL. Gli script generati possono essere eseguiti in un'altra istanza di SQL Server o in Azure SQL. È possibile creare script per un intero database o limitarlo a oggetti specifici.
Per un'esercitazione più dettagliata sull'uso della procedura guidata Generazione degli script, vedere Esercitazione: Generazione Script Guidata.
Prerequisiti
Il database di origine e di destinazione può trovarsi nel database SQL di Azure o in Istanza gestita di SQL di Azure oppure in un'istanza del motore di database che esegue SQL Server 2005 (9.x) o versioni successive.
Autorizzazioni
L'autorizzazione minima per generare script è l'appartenenza al ruolo predefinito del database di db_ddladmin nel database di origine.
Usare il Creazione Guidata per gli Script
In Esplora oggetti espandere il nodo per l'istanza contenente il database di cui eseguire lo script.
Fare clic con il pulsante destro del mouse sul database di cui si vuole creare lo script e selezionare Attività>Genera script.
Completare le finestre di dialogo della procedura guidata:
Pagina Introduttiva
Questa pagina descrive i passaggi per la generazione di uno script.
Non visualizzare di nuovo questa pagina - ignora questa pagina al prossimo avvio della Creazione guidata di script.
Pagina Scegli oggetti
Utilizzare questa pagina per scegliere gli oggetti da includere negli script generati da questa procedura guidata.
Opzione Script intero database : selezionare questa opzione per generare script per tutti gli oggetti nel database e includere uno script per il database stesso.
Selezionare oggetti di database specifici: selezionare questa opzione per limitare la procedura guidata per generare script solo per gli oggetti specifici nel database scelto:
Oggetti di database : selezionare almeno un oggetto da includere nello script.
Selezionare Tutto : seleziona tutte le caselle di controllo disponibili.
Deseleziona tutto : cancella tutte le caselle di controllo. Per continuare, è necessario selezionare almeno un oggetto di database.
Pagina delle opzioni di scripting
Utilizzare questa pagina per specificare se si desidera che la procedura guidata salvi gli script nel percorso preferito.
Opzioni : se si vuole che la procedura guidata salvi gli script in un percorso di propria scelta, selezionare Salva script in un percorso specifico. In un secondo momento è possibile eseguire gli script su un'istanza del motore di database o sul database SQL.
Salva script in un percorso specifico : salvare uno o più file di script Transact-SQL in un percorso specificato.
Salva come notebook : salvare lo script in uno o più file .sql. Selezionare il pulsante Sfoglia (...) per specificare un nome e un percorso per il file.
Salva come file di script Salvare lo script in uno o più file .sql. Selezionare il pulsante Sfoglia (...) per specificare un nome e un percorso per il file. Selezionare la casella di controllo Sovrascrivi file esistente per sostituire il file se ne esiste già uno con lo stesso nome. Selezionare File di script singolo o Un file di script per oggetto per specificare la modalità di generazione degli script. Selezionare Testo Unicode o testo ANSI per specificare il tipo di testo da usare nello script.
Salva negli Appunti : salvare lo script Transact-SQL negli Appunti.
Aprire in una nuova finestra di query : generare lo script in una finestra dell'editor di query del motore di database. Se non è aperta alcuna finestra dell'editor, viene aperta una nuova finestra dell'editor come destinazione per lo script.
Avanzate : consente di visualizzare la finestra di dialogo Opzioni avanzate in cui è possibile selezionare opzioni avanzate di scripting.
Pagina Opzioni di script avanzato
Utilizzare questa pagina per specificare come si desidera che questa procedura guidata generi gli script. Sono disponibili molte opzioni diverse. Le opzioni sono disattivate se non sono supportate dalla versione di SQL Server o del database SQL specificato nel tipo di motore di database.
Opzioni : specificare le opzioni avanzate selezionando un valore dall'elenco delle impostazioni disponibili a destra di ogni opzione.
Generale : le opzioni seguenti si applicano all'intero script.
Spaziatura interna ANSI : include
ANSI PADDING ON
nello script. Il valore predefinito è False.Aggiungi al file - Quando è vero, questo script viene aggiunto alla fine di uno script esistente, specificato nella pagina Imposta opzioni di scripting. Se False, il nuovo script sovrascrive uno script precedente. Il valore predefinito è False.
Verificare l'esistenza dell'oggetto : se True, aggiunge il controllo dell'esistenza prima di generare l'istruzione create per gli oggetti SQL. Ad esempio: tabelle, viste, funzioni o procedure memorizzate. L'istruzione
CREATE
è contenuta in un'istruzione IF. Se si conosce che l'obiettivo è pulito, lo script è molto più pulito. Se non si prevede che gli oggetti esistano nella destinazione, viene visualizzato un errore. Il valore predefinito è False.Continua lo scripting in caso di errore : quando è false, lo script viene arrestato quando si verifica un errore. Se True, la creazione di script continua. Il valore predefinito è False.
Convertire tipi definiti dall'utente in tipi di base: quando true, i tipi di dati definiti dall'utente (UDDT) vengono convertiti nei tipi di dati di base sottostanti usati per crearli. Usare True quando l'UDDT (tipo definito dall'utente) non esiste nel database in cui viene eseguito lo script. Quando False, vengono utilizzati i tipi definiti dall'utente. Il valore predefinito è False.
Genera script per gli oggetti dipendenti : genera uno script per qualsiasi oggetto che deve essere presente quando viene eseguito lo script per l'oggetto selezionato. Il valore predefinito è True per l'opzione Script interi database e False per Selezionare oggetti di database specifici.
Includi intestazioni descrittive : se True, i commenti descrittivi vengono aggiunti allo script separando lo script in sezioni per ogni oggetto. Il valore predefinito è False.
Includi se NOT EXISTS - Se True, lo script include un'istruzione per verificare se l'oggetto esiste già nel database e non tenta di creare un nuovo oggetto se l'oggetto esiste già. Il valore predefinito è False.
Includi nomi di vincoli di sistema : se False, il valore predefinito dei vincoli denominati automaticamente nel database di origine viene rinominato automaticamente nel database di destinazione. Se True, i vincoli hanno lo stesso nome nei database di origine e di destinazione.
Includi istruzioni non supportate : se False, lo script non contiene istruzioni per gli oggetti che non sono supportati nella versione del server o nel tipo di motore selezionato. Se True, lo script contiene gli oggetti non supportati. Ogni istruzione per un oggetto non supportato ha un commento che l'istruzione deve essere modificata prima che lo script possa essere eseguito con la versione o il tipo di motore di SQL Server selezionato. Il valore predefinito è False.
Qualificare i nomi degli oggetti con lo schema - Include il nome dello schema nel nome degli oggetti creati. Il valore predefinito è True.
Collegamento script - genera uno script per collegare oggetti predefiniti e regole. Il valore predefinito è False. Per altre informazioni, vedere CREATE DEFAULT (Transact-SQL) e CREATE RULE (Transact-SQL).
Collazione dello script - Include le informazioni di collazione nello script. Il valore predefinito è False. Per ulteriori informazioni, vedere Supporto per Unicode e regole di confronto.
Impostazioni predefinite dello script : include gli oggetti predefiniti usati per impostare i valori predefiniti nelle colonne della tabella. Il valore predefinito è True. Per altre informazioni, vedere Specificare i valori predefiniti per le colonne.
Script drop e create - Quando Script CREATE, vengono incluse istruzioni Transact-SQL per creare oggetti. Quando Si esegue lo script DROP, Transact-SQL istruzioni vengono incluse per eliminare gli oggetti. Quando si utilizza il comando DROP e CREATE, l'istruzione DROP Transact-SQL viene inclusa nello script, seguita dall'istruzione CREATE per ogni oggetto scriptato. Il valore predefinito è Script CREATE.
Proprietà estese dello script: include proprietà estese nello script se l'oggetto ha proprietà estese. Il valore predefinito è True.
Script per il tipo di motore : crea uno script che può essere eseguito nel tipo selezionato di database SQL o in un'istanza del motore di database di SQL Server. Gli oggetti non supportati nel tipo specificato non sono inclusi nello script. Il valore predefinito è il tipo del server di origine.
Script per la versione del server : crea uno script che può essere eseguito nella versione selezionata di SQL Server. Non è possibile creare script per le funzionalità nuove di una versione per le versioni precedenti. Il valore predefinito è la versione del server di origine.
Script di accesso: quando l'oggetto da creare tramite script è un utente del database, questa opzione crea gli account di accesso da cui dipende l'utente. Il valore predefinito è False.
Script - Autorizzazioni a livello di oggetto : include script per impostare l'autorizzazione per gli oggetti nel database. Il valore predefinito è False.
Statistiche script : se impostata su Statistiche script, questa opzione include l'istruzione
CREATE STATISTICS
per ricreare le statistiche sull'oggetto. L'opzione Statistiche script e istogrammi crea anche informazioni sull'istogramma. Il valore predefinito è Non creare script per le statistiche. Per altre informazioni, vedere CREATE STATISTICS (Transact-SQL).Script USE DATABASE : aggiunge l'istruzione
USE DATABASE
allo script. Per assicurarsi che gli oggetti di database vengano creati nel database corretto, includere l'istruzioneUSE DATABASE
. Se si prevede di usare lo script in un database diverso, selezionare False per omettere l'istruzioneUSE DATABASE
. Il valore predefinito è True. Per altre informazioni, vedere USE (Transact-SQL).Tipi di dati per lo script : consente di selezionare gli elementi da creare tramite script: solo dati, solo schema o entrambi. Il valore predefinito è Solo schema.
Opzioni tabella/vista : le opzioni seguenti si applicano solo agli script per tabelle o viste.
Rilevamento modifiche script - Rilevamento delle modifiche degli script, 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).
Vincoli di controllo dello script - aggiunge
CHECK
vincoli allo script. Il valore predefinito è True.CHECK
I vincoli richiedono che i dati immessi in una tabella soddisfino alcune condizioni specificate. Per ulteriori informazioni, vedere Vincoli univoci e vincoli di controllo.Opzioni di compressione dei dati degli script: opzioni di compressione dei dati per gli script, se configurate nel database di origine o nelle tabelle del database di origine. Per altre informazioni, vedere Compressione dei dati. Il valore predefinito è False.
Script di chiavi esterne : aggiunge chiavi esterne allo script. Il valore predefinito è True. Le chiavi esterne indicano e impongono relazioni tra tabelle.
Script di indici full-text - Genera script per la creazione di indici full-text. Il valore predefinito è False.
Indici degli script - Script per la creazione degli indici. Il valore predefinito è True per l'opzione Script interi database e False per Selezionare oggetti di database specifici. Gli indici consentono di trovare rapidamente i dati.
Script per le chiavi primarie : consente di creare 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.
Trigger di script : consente di creare 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 di chiavi univoce : consente di creare script per la creazione di chiavi univoce nelle tabelle. Le chiavi univoce impediscono l'immissione di dati duplicati. Il valore predefinito è True. Per ulteriori informazioni, vedere Vincoli univoci e vincoli di controllo.
Pagina Riepilogo
Questa pagina riepiloga le opzioni selezionate in questa procedura guidata. Per modificare un'opzione, selezionare Precedente. Per iniziare a generare script, selezionare Avanti.
Verifica le selezioni : visualizza le selezioni effettuate per ogni pagina della procedura guidata. Espandere un nodo per visualizzare le opzioni selezionate per la pagina corrispondente.
Pagina "Salva script"
Utilizzare questa pagina per monitorare lo stato di avanzamento della procedura guidata in tempo reale.
Dettagli : visualizzare la colonna Azione per visualizzare lo stato di avanzamento della procedura guidata. Dopo aver generato gli script, la procedura guidata salva gli script in un file. Al termine di ognuno di questi passaggi, selezionare il valore nella colonna Risultato per visualizzare 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 del completamento dell'elaborazione o se si verifica un errore.
Fine : selezionare questa opzione per chiudere la procedura guidata al termine dell'elaborazione o se si verifica un errore.
Salvare gli script
Se tutte le impostazioni sono corrette, la configurazione viene completata correttamente.
Generare script su Azure Synapse Analytics
Se la sintassi generata quando si usa "Script As..." non è simile alla sintassi di Azure Synapse Analytics o se viene visualizzato un messaggio di errore, potrebbe essere necessario impostare le opzioni di scripting in SQL Server Management Studio su Azure Synapse Analytics.
Come impostare le opzioni di scripting predefinite su SQL Data Warehouse
Per creare script per oggetti con la sintassi di Azure Synapse Analytics, impostare l'opzione di scripting predefinita su Azure Synapse Analytics come indicato di seguito:
- Selezionare Strumenti e quindi Opzioni.
- Selezionare Esplora oggetti di SQL Server e Scripting.
- In Opzioni di versione, imposta Imposta le impostazioni dello script per confrontare con l'origine su Falso.
- Impostare Script per il tipo di motore di database su Microsoft Azure SQL Database Edition.
- Per i pool SQL dedicati in Azure Synapse Analytics, impostare Script per l'edizione del motore di database a Microsoft Azure SQL Data Warehouse Edition.
- 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, queste istruzioni possono essere ignorate. Tuttavia, se si sceglie di usare diverse opzioni di scripting predefinite, potrebbe verificarsi un errore. Per evitare errori, seguire questa procedura per generare script per Azure Synapse Analytics:
- In Esplora oggetti fare clic con il pulsante destro del mouse sul pool SQL dedicato in Database.
- Selezionare Genera script.
- Scegli gli oggetti che desideri scriptare.
- In Opzioni di scripting selezionare Avanzate. In Generale impostato:
- Script per il tipo di motore di database: database SQL di Microsoft Azure.
- Script per l'edizione del motore di database: Microsoft Azure SQL Data Warehouse Edition.
- Selezionare Salva script e quindi Fine.
Le opzioni impostate nel passaggio 4 non vengono memorizzate. Se si preferisce ricordare queste opzioni, seguire le istruzioni in Come impostare le opzioni di scripting predefinite su SQL Data Warehouse.