Esecuzione della console SSMA (SybaseToSQL)
Microsoft offre un solido set di comandi di file di script per eseguire e controllare le attività SSMA. Le sezioni successive lo descrivono in dettaglio.
Comandi dei file di script
L'applicazione console usa alcuni comandi di file di script standard come enumerati in questa sezione.
Comandi di progetto
I comandi di progetto gestiscono la creazione di progetti, l'apertura, il salvataggio e l'uscita dai progetti.
create-new-project
Questo comando crea un nuovo progetto SSMA.
project-folder
indica la cartella del progetto creato.project-name
indica il nome del progetto. {string}L’attributo facoltativo
overwrite-if-exists
indica se un progetto esistente debba essere sovrascritto. {boolean}Attributo facoltativo
project-type:
. Indica il tipo di progetto, ovvero il progetto "sql-server-2005" o il progetto "sql-server-2008" o il progetto "sql-server-2012" o il progetto "sql-server-2014" o il progetto "sql-azure". Quello predefinito è "sql-server-2008".
Esempio di sintassi:
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true/false>" (optional)
project-type="<sql-server-2008/sql-server-2005/sql-server-2012/sql-server-2014/sql-azure>"
/>
L'attributo 'overwrite-if-exists' è false per impostazione predefinita.
L'attributo 'project-type' è sql-server-2008 per impostazione predefinita.
open-project
Questo comando apre il progetto.
project-folder
indica la cartella del progetto creato. Il comando ha esito negativo se la cartella specificata non esiste. {string}project-name
indica 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>"
/>
Nota
L'SSMA per applicazione console in ambiente del servizio app di Azure per SAP supporta la compatibilità con le versioni precedenti. È possibile utilizzarlo per aprire i progetti creati dalla versione precedente di SSMA.
save-project
Questo comando salva il progetto di migrazione.
Esempio di sintassi:
<save-project/>
close-project
Questo comando chiude il progetto di migrazione.
Esempio di sintassi:
<close-project
if-modified="<save/error/ignore>" (optional)
/>
L'attributo 'if-modified' è facoltativo, ignorare per impostazione predefinita.
Comandi di connessione di database
I comandi di connessione di database consentono di connettersi al database.
Nota
- La funzionalità Esplorare dell'interfaccia utente non è supportata nella console.
- Per altre informazioni sulla “Creazione di file di script”, vedere Creazione di file di script (SybaseToSQL).
connect-source-database
Questo comando esegue la connessione al database di origine e carica metadati di alto livello del database di origine, anche se non tutti i metadati.
Se non è possibile stabilire la connessione all'origine, viene generato un errore e l'applicazione console interrompe l'esecuzione.
La definizione del server viene recuperata dall'attributo nome definito per ogni connessione nella sezione server del file di connessione del server o dal file di script.
Esempio di sintassi:
<connect-source-database server="<server-unique-name>"/>
force-load-source/target-database
Questo comando carica i metadati di origine ed è utile per lavorare al progetto di migrazione offline.
Se non è possibile stabilire la connessione all'origine/alla destinazione, viene generato un errore e l'applicazione console interrompe l'esecuzione.
Questo comando 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>
reconnect-source-database
Questo comando 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>"/>
connect-target-database
Questo comando si connette al database SQL Server di destinazione e carica metadati di alto livello del database di destinazione, ma non i metadati nel loro complesso.
Se non è possibile stabilire la connessione alla destinazione, viene generato un errore e l'applicazione console interrompe l'esecuzione.
La definizione del server viene recuperata dall'attributo nome definito per ogni connessione nella sezione server del file di connessione del server o dal file di script.
Esempio di sintassi:
<connect-target-database server="<server-unique-name>"/>
reconnect-target-database
Questo comando 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 report
I comandi Report generano report sulle prestazioni di varie attività della console SSMA.
generate-assessment-report
Questo comando 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.
conversion-report-folder:
Specifica la cartella in cui è possibile archiviare il report di valutazione. (attributo facoltativo)object-name:
Specifica gli oggetti considerati per la generazione di report di valutazione (supporta singoli nomi di oggetto o un nome di oggetto gruppo).object-type:
Specifica il tipo dell'oggetto indicato nell'attributo object-name (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "category").conversion-report-overwrite:
Specifica se sovrascrivere la cartella del report di valutazione nel caso esista già.Valore predefinito: false. (attributo facoltativo)
write-summary-report-to:
Specifica il percorso in cui verrà generato il report.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)
assessment-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
oppure
<generate-assessment-report
assessment-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 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.
convert-schema
Questo comando 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 di eseguire 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.
conversion-report-folder:
Specifica la cartella in cui è possibile archiviare il report di valutazione. (attributo facoltativo)object-name:
Specifica gli oggetti di origine considerati per la conversione di schemi (supporta singoli nomi di oggetto o un nome di oggetto gruppo).object-type:
Specifica il tipo dell'oggetto indicato nell'attributo object-name (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "category").conversion-report-overwrite:
Specifica se sovrascrivere la cartella del report di valutazione nel caso esista già.Valore predefinito: false. (attributo facoltativo)
write-summary-report-to:
Specifica il percorso in cui verrà generato il report sintetico.Se viene menzionato solo il percorso della cartella, viene creato il file in base al nome SchemaConversionReport<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:
<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)
/>
oppure
<convert-schema
conversion-report-folder="<folder-name>" (optional)
conversion-report-overwrite="<true/false>"> (optional)
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</convert-schema>
migrate-data
Questo comando esegue la migrazione dei dati di origine alla destinazione
object-name:
Specifica gli oggetti di origine considerati per la migrazione di dati (supporta singoli nomi di oggetto o un nome di oggetto gruppo).object-type:
specifica il tipo dell'oggetto indicato nell'attributo object-name (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "category").write-summary-report-to:
Specifica il percorso in cui verrà generato il report.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/false>" verbose="<true/false>">
<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>
oppure
<migrate-data
object-name="<object-name>"
object-type="<object-category>"
write-summary-report-to="<file-name/folder-name>"
report-errors="<true/false>" verbose="<true/false>"/>
Comando Preparazione migrazione
Il comando Preparazione migrazione avvia il mapping dello schema tra i database di origine e di destinazione.
Nota
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 principale dell'albero dell’oggetto di origine.
map-schema
Questo comando fornisce il mapping dello schema del database di origine allo schema di destinazione.
source-schema
Specifica lo schema di origine di cui eseguire la migrazione.sql-server-schema
Specifica lo schema di destinazione a cui verrà eseguita la migrazione dello schema di origine.
Esempio di sintassi:
<map-schema source-schema="<source-schema>"
sql-server-schema="<target-schema>"/>
Comandi di gestibilità
I comandi di gestibilità aiutano a sincronizzare gli oggetti database di destinazione con il database di origine.
Nota
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 principale dell'albero dell’oggetto di origine.
synchronize-target
Questo comando 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 di eseguire questo comando oppure la connessione al server database di destinazione non riesce durante l'esecuzione del comando, viene generato un errore e l'applicazione console viene chiusa.
object-name:
Specifica gli oggetti di destinazione considerati per la sincronizzazione con il database di destinazione (supporta singoli nomi di oggetto o un nome di oggetto gruppo).object-type:
Specifica il tipo dell'oggetto indicato nell'attributo object-name (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "category").on-error:
Specifica se specificare gli errori di sincronizzazione come avvisi o errori. Opzioni disponibili per on-error:report-total-as-warning
report-each-as-warning
fail-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 il file in base al nome 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/folder-name>" (optional)
/>
oppure
<synchronize-target
object-name="<object-name>"
object-type="<object-category>"/>
oppure
<synchronize-target>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
<metabase-object object-name="<object-name>"/>
</synchronize-target>
refresh-from-database
Questo comando aggiorna gli oggetti di origine dal database.
Se questo comando viene eseguito sul database di destinazione, viene generato un errore.
Questo comando richiede uno o più nodi metabase come parametro della riga di comando.
object-name:
Specifica gli oggetti di origine considerati per l’aggiornamento dal database di origine (supporta singoli nomi di oggetto o un nome di oggetto gruppo).object-type:
Specifica il tipo dell'oggetto specificato nell'attributo object-name (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "category").on-error:
Specifica se richiamare gli errori di aggiornamento come avvisi o errori. Opzioni disponibili per on-error:report-total-as-warning
report-each-as-warning
fail-script
report-errors-to:
Specifica la posizione del report degli errori per l'operazione di aggiornamento (attributo facoltativo). Se viene specificato solo il percorso della cartella, viene creato il file in base al nome SourceDBRefreshReport.XML.
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/folder-name>" (optional)
/>
oppure
<refresh-from-database
object-name="<object-name>"
object-type="<object-category>" />
oppure
<refresh-from-database>
<metabase-object object-name="<object-name>"/>
</refresh-from-database>
Comandi di generazione di 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.
save-as-script
Questo comando viene usato per salvare gli script degli oggetti in un file indicato quando metabase=target. Si tratta di un'alternativa al comando di sincronizzazione che consente di ottenere gli script ed eseguire la stessa operazione nel database di destinazione.
Questo comando richiede uno o più nodi metabase come parametro della riga di comando.
object-name:
Specifica gli oggetti i cui script devono essere salvati (supporta singoli nomi di oggetto o un nome di oggetto di gruppo).object-type:
Specifica il tipo dell'oggetto indicato nell'attributo object-name (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "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 file non viene specificato, verrà fornito un nome file nel formato (object_name valore dell'attributo).out.overwrite:
Se true, sovrascrive lo stesso nome file nel caso sia presente. 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)
/>
oppure
<save-as-script
metabase="<source/target>"
destination="<file-name/folder-name>"
<metabase-object object-name="<object-name>"
object-type="<object-category>"/>
</save-as-script>
convert-sql-statement
Questo comando converte l'istruzione SQL.
context
Specifica il nome dello schema.destination
Specifica se l'output deve essere archiviato in un file.Se questo attributo non viene specificato, nella console viene visualizzata l'istruzione T-SQL convertita. (attributo facoltativo)
conversion-report-folder
Specifica la cartella in cui è possibile archiviare il report di valutazione. (attributo facoltativo)conversion-report-overwrite
Specifica se sovrascrivere la cartella del report di valutazione nel caso esista già.Valore predefinito: false. (attributo facoltativo)
write-converted-sql-to
specifica 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.sql
specifica le istruzioni SQL di Sybase da convertire, è possibile separare una o più istruzioni usando il ";"sql-files
specifica il percorso dei file SQL che devono essere convertiti in codice T-SQL.write-summary-report-to
specifica il percorso dove verrà generato il report sintetico. Se viene menzionato solo il percorso della cartella, viene creato il file in base al nome ConvertSQLReport.XML. (attributo facoltativo)La creazione di report sintetici include due sottocategorie aggiuntive, ovvero:
report-errors (="true/false", with default as "false" (optional attributes)).
verbose (="true/false", with default as "false" (optional attributes)).
Questo comando richiede uno o più nodi metabase come parametro della riga di comando.
Esempio di sintassi:
<convert-sql-statement
context="<database-name>.<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>
oppure
<convert-sql-statement
context="<database-name>.<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"
/>
oppure
<convert-sql-statement
context="<database-name>.<schema-name>"
conversion-report-folder="<folder-name>"
conversion-report-overwrite="<true/false>"
sql-files="<folder-name>\*.sql"
/>
Passaggi successivi
Per informazioni sulle opzioni della riga di comando, vedere Opzioni della riga di comando nella console SSMA (AccessToSQL).
Per informazioni sul file di script della console di esempio, vedere Esecuzione dei file script della console di esempio (SybaseToSQL)
Il passaggio successivo dipende dai requisiti del progetto:
Per specificare una password o un'esportazione/importazione di password, vedere Gestione delle password (SybaseToSQL).
Per la generazione di report, vedere Generazione di report (SybaseToSQL).
Per la risoluzione dei problemi nella console, vedere Risoluzione dei problemi (SybaseToSQL).