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.
Microsoft offre un set affidabile di comandi di file di script per eseguire e controllare le attività di SQL Server Migration Assistant (SSMA).
L'applicazione console usa alcuni comandi di file di script standard come enumerati in questa sezione.
Comandi del file di script del progetto
Comando create-new-project
Crea un nuovo progetto SSMA.
I comandi project gestiscono la creazione di progetti, l'apertura, il salvataggio e l'uscita dei progetti.
Sceneggiatura
project-folder: indica la cartella del progetto creato.project-name: indica il nome del progetto. {string}overwrite-if-exists: attributo facoltativo. Indica se un progetto esistente deve essere sovrascritto. {boolean}project-type: attributo facoltativo. Indica il tipo di progetto, ovvero ,sql-server-2016sql-server-2017,sql-server-2019,sql-server-2022sql-server-2025, osql-azure. Il valore predefinito èsql-server-2016.
Esempio di sintassi
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true/false>" (optional)
project-type=="<sql-server-2016 | sql-server-2017 | sql-server-2019 | sql-server-2022 | sql-server-2025 | sql-azure>" (optional)
/>
L'attributo overwrite-if-exists è false per impostazione predefinita.
L'attributo project-type è sql-server-2016 per impostazione predefinita.
Comando open-project
Apre un progetto esistente.
Sceneggiatura
project-folderindica la cartella del progetto creato. Il comando ha esito negativo se la cartella specificata non esiste. {string}project-nameindica il nome del progetto. Il comando ha esito negativo se il progetto specificato non esiste. {string}
Esempio di sintassi
<open-project
project-folder="<project-folder>"
project-name="<project-name>"
/>
Importante
L'applicazione console SSMA per MySQL supporta la compatibilità con le versioni precedenti. È possibile aprire progetti creati dalla versione precedente di SSMA.
Comando save-project
Salva il progetto di migrazione.
Esempio di sintassi
<save-project/>
Comando close-project
Chiude il progetto di migrazione.
Esempio di sintassi
<save-project/>
O:
<close-project
if-modified="<save/error/ignore>" (optional)
/>
L'attributo if-modified è facoltativo, ignore per impostazione predefinita.
Comandi del file di script di connessione al database
I comandi connessione al database consentono di connettersi al database.
La funzionalità Sfoglia dell'interfaccia utente non è supportata nella console.
I windows-authentication parametri e port non sono applicabili quando ci si connette a SQL Azure.
Per altre informazioni, vedere Creazione di file di script.
Comando connect-source-database
Esegue la connessione al database di origine e carica metadati di alto livello del database di origine, ma non tutti i metadati.
Se non è possibile stabilire la connessione all'origine, viene generato un errore e l'applicazione console interrompe l'esecuzione.
Sceneggiatura
La definizione del server viene recuperata dall'attributo name definito per ogni connessione, nella sezione server del file di connessione del server o nel file di script.
Esempio di sintassi
<connect-source-database server="<server-unique-name>"/>
Comando force-load-source/target-database
Carica i metadati di origine.
Utile per lavorare offline al progetto di migrazione.
Se non è possibile stabilire la connessione all'origine/destinazione, viene generato un errore e l'applicazione console interrompe l'esecuzione.
Sceneggiatura
Richiede uno o più nodi metabase come parametro della riga di comando.
Esempio di sintassi
<force-load metabase="<source/target>"
<metabase-object object-name="<object-name>"/>
</force-load>
Comando reconnect-source-database
Si riconnette al database di origine, ma non carica metadati a differenza del comando connect-source-database.
Se non è possibile stabilire la (ri)connessione all'origine, viene generato un errore e l'applicazione console interrompe l'esecuzione.
Esempio di sintassi
<reconnect-source-database server="<server-unique-name>"/>
Comando connect-target-database
Si connette al database SQL Server di destinazione o al database SQL di Azure e carica metadati di alto livello del database di destinazione, ma non completamente i metadati.
Se non è possibile stabilire la connessione alla destinazione, viene generato un errore e l'applicazione console interrompe l'esecuzione.
Sceneggiatura
La definizione del server viene recuperata dall'attributo name definito per ogni connessione, nella sezione server del file di connessione del server o nel file di script.
Esempio di sintassi
<connect-target-database server="<server-unique-name>"/>
Comando reconnect-target-database
Si riconnette al database di destinazione, ma non carica metadati, a differenza del comando connect-target-database.
Se non è possibile stabilire la (ri)connessione alla destinazione, viene generato un errore e l'applicazione console interrompe l'esecuzione.
Esempio di sintassi
<reconnect-target-database server="<server-unique-name>"/>
Comandi del file di script di report
I comandi Report generano report sulle prestazioni di varie attività della console SSMA.
Comando generate-assessment-report
Genera report di valutazione nel database di origine.
Se la connessione al database di origine non viene eseguita prima dell'esecuzione di questo comando, viene generato un errore e l'applicazione console viene chiusa.
L'errore di connessione al server di database di origine durante l'esecuzione del comando comporta anche la terminazione dell'applicazione console.
Sceneggiatura
assessment-report-folder: specifica la cartella in cui è archiviato il report di valutazione. (attributo facoltativo)object-name: specifica gli oggetti considerati per la generazione di report di valutazione (può avere nomi di oggetto singoli o un nome di oggetto gruppo).object-type: specifica il tipo dell'oggetto specificato nell'attributo object-name (se la categoria di oggetti viene specificata, il tipo di oggetto è "category").assessment-report-overwrite: specifica se sovrascrivere la cartella del report di valutazione se esiste già.Valore predefinito: false. (attributo facoltativo)
write-summary-report-to: specifica il percorso in cui viene generato il report di riepilogo.Se viene indicato solo il percorso della cartella, viene creato il file in base al nome
AssessmentReport<n>.xml. (attributo facoltativo)La creazione di report include altre due sottocategorie:
-
report-errors(="true/false", con valore predefinito "false" (attributi facoltativi)) -
verbose(="true/false", con valore predefinito "false" (attributi facoltativi))
-
Esempio di sintassi
<generate-assessment-report
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
O:
<generate-assessment-report
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</generate-assessment-report>
Comandi del file di script di migrazione
I comandi di migrazione convertono lo schema del database di destinazione nello schema di origine ed eseguono la migrazione dei dati nel server di destinazione.
L'impostazione di output della console predefinita per i comandi di migrazione è un report di output "Completo" senza segnalazione di errori dettagliata: solo riepilogo nel nodo radice dell'albero degli oggetti di origine.
Comando convert-schema
Esegue la conversione dello schema dall'origine allo schema di destinazione.
Se la connessione al database di origine o di destinazione non viene eseguita prima dell'esecuzione di questo comando o la connessione al server di database di origine o di destinazione non riesce durante l'esecuzione del comando, viene generato un errore e l'applicazione console viene chiusa.
Sceneggiatura
conversion-report-folder: specifica la cartella in cui è archiviato il report di valutazione. (attributo facoltativo)object-name: specifica gli oggetti considerati per la conversione dello schema (può avere singoli nomi di oggetto o un nome di oggetto di gruppo).object-type: specifica il tipo dell'oggetto specificato nell'attributo object-name (se la categoria di oggetti viene specificata, il tipo di oggetto è "category").conversion-report-overwrite: specifica se sovrascrivere la cartella del report di valutazione se esiste già.Valore predefinito: false. (attributo facoltativo)
write-summary-report-to: specifica il percorso in cui viene generato il report di riepilogo.Se viene indicato solo il percorso della cartella, viene creato il file in base al nome
SchemaConversionReport<n>.xml. (attributo facoltativo)La creazione di report di riepilogo include altre due sottocategorie:
-
report-errors(="true/false", con valore predefinito "false" (attributi facoltativi)) -
verbose(="true/false", con valore predefinito "false" (attributi facoltativi))
-
Esempio di sintassi
<convert-schema
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
O:
<convert-schema
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
<metabase-object object-name="<object-names>"
object-type="<object-category>"/>
</convert-schema>
Comando migrate-data
Esegue la migrazione dei dati di origine alla destinazione.
Sceneggiatura
object-name: specifica gli oggetti di origine considerati per la migrazione dei dati (possono avere nomi di oggetto singoli o un nome di oggetto di gruppo).object-type: specifica il tipo dell'oggetto specificato nell'attributo object-name (se la categoria di oggetti viene specificata, il tipo di oggetto è "category").write-summary-report-to: specifica il percorso in cui viene generato il report di riepilogo.Se viene indicato solo il percorso della cartella, viene creato il file in base al nome
DataMigrationReport<n>.xml. (attributo facoltativo)La creazione di report include altre due sottocategorie:
-
report-errors(="true/false", con valore predefinito "false" (attributi facoltativi)) -
verbose(="true/false", con valore predefinito "false" (attributi facoltativi))
-
Esempio di sintassi
<migrate-data
write-summary-report-to="<file-name/folder-name>"
report-errors="true" verbose="true">
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<data-migration-connection
source-use-last-used="true"/source-server="<server-unique-name>"
target-use-last-used="true"/target-server="<server-unique-name>"/>
</migrate-data>
O:
<migrate-data
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>"
report-errors="true" verbose="true"/>
Comando del file script di preparazione della migrazione
Il comando Preparazione migrazione avvia il mapping dello schema tra i database di origine e di destinazione.
Comando map-schema
Mappatura dello schema del database di origine allo schema di destinazione.
Sceneggiatura
-
source-schemaspecifica lo schema di origine di cui si intende eseguire la migrazione. -
sql-server-schemaspecifica lo schema di destinazione di cui si vuole eseguire la migrazione.
Esempio di sintassi
<map-schema
source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>
Comandi del file script di gestibilità
I comandi di gestibilità consentono di sincronizzare gli oggetti di database di destinazione con il database di origine.
L'impostazione di output della console predefinita per i comandi di migrazione è un report di output "Completo" senza segnalazione di errori dettagliata: solo riepilogo nel nodo radice dell'albero degli oggetti di origine.
Comando synchronize-target
Sincronizza gli oggetti di destinazione con il database di destinazione.
Se questo comando viene eseguito sul database di origine, viene rilevato un errore.
Se la connessione al database di destinazione non viene eseguita prima dell'esecuzione di questo comando o la connessione al server di database di destinazione non riesce durante l'esecuzione del comando, viene generato un errore e l'applicazione console viene chiusa.
Sceneggiatura
object-name: specifica gli oggetti considerati per la sincronizzazione con il database di destinazione (può avere nomi di oggetto singoli o un nome di oggetto gruppo).object-type: specifica il tipo dell'oggetto specificato nell'attributo object-name (se la categoria di oggetti viene specificata, il tipo di oggetto è "category").on-error: specifica se specificare gli errori di sincronizzazione come avvisi o errori. Opzioni disponibili per l'errore:report-total-as-warningreport-each-as-warningfail-script
report-errors-to: specifica la posizione del report degli errori per l'operazione di sincronizzazione (attributo facoltativo)Se viene specificato solo il percorso della cartella, viene creato un file in base al nome di
TargetSynchronizationReport.xml.
Esempio di sintassi
<synchronize-target
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
O:
<synchronize-target
object-name="<object-name>"
object-type="<object-category>"/>
O:
<synchronize-target>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
</synchronize-target>
Comando refresh-from-database
Aggiorna gli oggetti di origine dal database.
Se questo comando viene eseguito sul database di destinazione, viene generato un errore.
Sceneggiatura
object-name: specifica gli oggetti di origine considerati per l'aggiornamento dal database di origine (può avere singoli nomi di oggetto o un nome di oggetto di gruppo).object-type: specifica il tipo dell'oggetto specificato nell'attributo object-name (se viene specificata la categoria di oggetti, il tipo di oggetto è "category").on-error: specifica se specificare gli errori di sincronizzazione come avvisi o errori. Opzioni disponibili per l'errore:report-total-as-warningreport-each-as-warningfail-script
report-errors-to: specifica la posizione del report degli errori per l'operazione di sincronizzazione (attributo facoltativo)Se viene specificato solo il percorso della cartella, viene creato un file in base al nome di
SourceDBRefreshReport.xml.
Richiede uno o più nodi metabase come parametro della riga di comando.
Esempio di sintassi
<refresh-from-database
object-name="<object-name>"
on-error="<report-total-as-warning/
report-each-as-warning/
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
O:
<refresh-from-database
object-name="<object-name>"
object-type="<object-category>"/>
O:
<refresh-from-database>
<metabase-object object-name="<object-name>"/>
</refresh-from-database>
Comandi del file di generazione script
I comandi di generazione di script eseguono attività doppie: consentono di salvare l'output della console in un file di script e registrano l'output T-SQL nella console o in un file in base al parametro specificato.
Comando save-as-script
Utilizzato per salvare gli script degli oggetti in un file indicato quando metabase=target. Si tratta di un'alternativa al comando di sincronizzazione, in cui si ottengono gli script e si eseguono gli stessi nel database di destinazione.
Sceneggiatura
Richiede uno o più nodi metabase come parametro della riga di comando.
object-name: specifica gli oggetti i cui script devono essere salvati. (Può avere singoli nomi di oggetto o un nome di oggetto gruppo)object-type: specifica il tipo dell'oggetto specificato nell'attributo object-name (se la categoria di oggetti viene specificata, il tipo di oggetto è "category").metabase: specifica se si tratta della metabase di origine o di destinazione.destination: specifica il percorso o la cartella in cui deve essere salvato lo script, se il nome del file non viene specificato, un nome di file nel formato (object_name valore dell'attributo).outoverwrite: se true, sovrascrive se lo stesso nome file esiste. Può avere i valori (true/false).
Esempio di sintassi
<save-as-script
metabase="<source/target>"
object-name="<object-name>"
object-type="<object-category>"
destination="<file-name/folder-name>"
overwrite="<true/false>" (optional)
/>
O:
<save-as-script
metabase="<source/target>"
destination="<file-name/folder-name>"
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</save-as-script>
Comando convert-sql-statement
contextspecifica il nome dello schema.destinationspecifica se l'output deve essere archiviato in un file.Se questo attributo non è specificato, l'istruzione T-SQL convertita viene visualizzata nella console. (attributo facoltativo)
conversion-report-folderspecifica la cartella in cui è archiviato il report di valutazione. (attributo facoltativo)conversion-report-overwriteSpecifica se sovrascrivere la cartella del report di valutazione nel caso esista già.Valore predefinito: false. (attributo facoltativo)
write-converted-sql-tospecifica il percorso del file (o) della cartella in cui deve essere archiviato il T-SQL convertito. Quando viene specificato un percorso di cartella insieme all'attributosql-files, ogni file di origine ha un file T-SQL di destinazione corrispondente creato nella cartella specificata. Quando viene specificato un percorso di cartella insieme all'attributosql, il T-SQL convertito viene scritto in un file denominato Result.out nella cartella specificata.sqlspecifica le istruzioni sql MySQL da convertire, è possibile separare una o più istruzioni usando ";"sql-filesspecifica il percorso dei file sql che devono essere convertiti in codice T-SQL.write-summary-report-tospecifica il percorso in cui viene generato il report di riepilogo. Se viene indicato solo il percorso della cartella, viene creato il file in base al nomeConvertSQLReport.xml. (attributo facoltativo)La creazione di report include altre due sottocategorie:
-
report-errors(="true/false", con valore predefinito come "false" (attributi facoltativi)). -
verbose(="true/false", con valore predefinito come "false" (attributi facoltativi)).
-
Sceneggiatura
Richiede uno o più nodi metabase come parametro della riga di comando.
Esempio di sintassi
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="stdout/file" (optional)
write-converted-sql-to="<file-name/folder-name>"
sql="SELECT 1 FROM DUAL;">
<output-window suppress-messages="<true/false>" />
</convert-sql-statement>
O:
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
write-summary-report-to="<file-name/folder-name>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
destination="<stdout/file>" (optional)
write-converted-sql-to="<file-name/folder-name>"
sql-files="<folder-name>\*.sql"
/>
O:
<convert-sql-statement
context="<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
sql-files="<folder-name>\*.sql"
/>