Esecuzione della console SSMA (AccessToSQL)
Microsoft offre un solido set di comandi di file di script e di opzioni della riga di comando per eseguire e controllare le attività SQL Server Migration Assistant (SSMA). Le sezioni successive lo descrivono in dettaglio.
Comandi del file di script del progetto
I comandi del progetto gestiscono la creazione, l'apertura, il salvataggio e l'uscita dei progetti.
create-new-project
Crea un nuovo progetto SSMA.
Attributo | Default value | Descrizione | Tipo |
---|---|---|---|
project-folder |
None | Indica la cartella del progetto in fase di creazione. | String |
project-name |
None | Indica il nome del progetto. | String |
overwrite-if-exists |
false |
Attributo facoltativo, indica se un progetto esistente debba essere sovrascritto. | Booleano |
project-type |
sql-server-2008 |
Attributo facoltativo. Le opzioni seguenti sono disponibili per project-type :sql-server-2005 sql-server-2008 sql-server-2012 sql-server-2014 sql-server-2016 sql-azure |
String |
Esempio di sintassi
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true | false>"
project-type="<project-type>"
/>
open-project
Apre un progetto esistente.
Attributo | Default value | Descrizione | Tipo |
---|---|---|---|
project-folder |
None | Indica la cartella del progetto in fase di creazione. Il comando ha esito negativo se la cartella specificata non esiste. | String |
project-name |
None | 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
SSMA per la console Access supporta la compatibilità con le versioni precedenti. È possibile aprire progetti creati dalla versione precedente di SSMA.
save-project
Salva il progetto di migrazione.
Esempio di sintassi
<save-project/>
close-project
Chiude il progetto di migrazione.
Attributo | Default value | Descrizione | Tipo |
---|---|---|---|
if-modified |
ignore |
Attributo facoltativo per specificare il comportamento. I valori possibili sono save , error e ignore . |
String |
Esempio di sintassi
<close-project
if-modified="<save/error/ignore>" (optional)
/>
L'attributo 'if-modified' è facoltativo, ignora per impostazione predefinita.
Comandi del file script di Connessione del database
I comandi di Connessione di database consentono di connettersi al database.
La funzionalità Sfoglia dell'interfaccia utente non è supportata nella console.
I parametri di autenticazione di Windows e porta non sono applicabili quando ci si connette a SQL Azure.
Per altre informazioni, consultare Creazione di file di script (AccessToSQL).
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
La definizione del server server
viene recuperata dall'attributo nome definito per ogni connessione nella sezione server server
del file di connessione del server o dal file di script.
Esempio di sintassi
<connect-source-database server="<server-unique-name>"/>
load-access-database
Utilizzabile per caricare i file di database di accesso.
Attributo | Default value | Descrizione | Tipo |
---|---|---|---|
database-file |
None | Specificare il percorso ad un database di Access. | String |
Esempio di sintassi
<load-access-database database-file="<Access-database>"/>
Oppure
<load-access-database>
<access-database database-file="<Access-database1>"/>
<access-database database-file="<Access-database2>"/>
</load-access-database>
Database di origine o di destinazione force-load
Carica i metadati di origine. Utile per lavorare offline al progetto di migrazione.
Se non è possibile stabilire la connessione all'origine o alla destinazione, viene generato un errore e l'applicazione console interrompe l'esecuzione.
Richiede uno o più nodi metabase
come parametro della riga di comando.
Attributo | Default value | Descrizione | Tipo |
---|---|---|---|
object-name |
None | Specificare il nome dell'oggetto. | String |
metabase |
None | Specificare il percorso ad un database di Access. I valori possibili sono source o target . |
String |
Esempio di sintassi
<force-load
object-name="<object-name>"
metabase="<source/target>"/>
Oppure
<force-load>
<metabase-object object-name="<object-name>"/>
</force-load>
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.
La definizione del server server
viene recuperata dall'attributo nome definito per ogni connessione nella sezione server server
del file di connessione del server o dal file di script.
Esempio di sintassi
<reconnect-source-database server="<server-unique-name>"/>
connect-target-database
Si connette al database SQL Server o SQL Azure 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 server
viene recuperata dall'attributo nome definito per ogni connessione nella sezione server 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
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.
La definizione del server server
viene recuperata dall'attributo nome definito per ogni connessione nella sezione server server
del file di connessione del server o dal file di script.
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
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 fine dell'applicazione console.
Script
assessment-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 (può avere nomi oggetto singoli o un nome oggetto di gruppo).object-type
Specifica il tipo dell'oggetto specificato nell'attributo nome oggetto (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "categoria").assessment-report-overwrite
Se esiste già, specifica se sovrascrivere la cartella del report di valutazione.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="ssma.Procedures"
object-type="category"
write-summary-report-to="<file>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
Oppure
<generate-assessment-report
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="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 principale dell'albero dell’oggetto di origine.
convert-schema
Esegue la conversione dello schema dallo schema di origine allo schema di destinazione.
Se la connessione al database di origine o di destinazione non viene eseguita prima di eseguire questo comando oppure la connessione al server database di origine o di destinazione non riesce durante l'esecuzione del comando, viene generato un errore e l'applicazione console viene chiusa.
Script
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 (può avere singoli nomi oggetto o un nome oggetto di gruppo).object-type
Specifica il tipo dell'oggetto specificato nell'attributo nome oggetto (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "categoria").conversion-report-overwrite
Se esiste già, specifica se sovrascrivere la cartella del report di valutazione.Valore predefinito: false. (attributo facoltativo)
write-summary-report-to
Specifica il percorso in cui verrà generato il report.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="ssma.Procedures"
object-type="category"
write-summary-report-to="<filepath/folder>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
Oppure
<convert-schema
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="category"/>
</convert-schema>
migrate-data
Esegue la migrazione dei dati di origine alla destinazione.
Script
object-name
Specifica gli oggetti di origine considerati per la migrazione di dati (può avere singoli nomi oggetto o un nome oggetto di gruppo).object-type
Specifica il tipo dell'oggetto specificato nell'attributo nome oggetto (se viene specificata la categoria di oggetti, allora il tipo di oggetto sarà "categoria").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="<filepath/folder>"
report-errors="true" verbose="true">
<metabase-object object-name="ssma.TT1"/>
<metabase-object object-name="ssma.TT2"/>
<metabase-object object-name="ssma.TT3"/>
<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="ssma.Tables"
object-type="category"
write-summary-report-to="<filepath/folder>"
report-errors="true" verbose="true"/>
link-tables
Questo comando collega la tabella di origine (Access) alla tabella di destinazione.
Script
Esempio di sintassi
<link-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</link-tables>
Oppure
<link-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</link-tables>
unlink-tables
Questo comando scollega la tabella di origine (Access) dalla tabella di destinazione.
Script
Esempi di sintassi:
<unlink-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</unlink-tables>
Oppure
<unlink-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</unlink-tables>
Comandi del file di script di preparazione della migrazione
Il comando Preparazione alla migrazione avvia il mapping dello schema tra i database di origine e di destinazione.
map-schema
Mapping dello schema del database di origine allo schema di destinazione.
Script
source-schema
specifica lo schema di origine di cui si intende eseguire la migrazione.sql-server-schema
specifica 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 di gestibilità
I comandi di gestibilità aiutano a sincronizzare gli oggetti 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 principale dell'albero dell’oggetto di origine.
synchronize-target
Sincronizza gli oggetti di destinazione con il database di destinazione. Se questo comando viene eseguito sul database di origine, viene visualizzato un errore.
Se la connessione al database di destinazione non viene effettuata 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.
Script
object-name
Specifica gli oggetti di destinazione considerati per la sincronizzazione con il database di destinazione (può avere singoli nomi oggetto o un nome oggetto di gruppo).object-type
: Specifica il tipo dell'oggetto specificato nell'attributo nome oggetto (se viene specificata la categoria di oggetti, allora il tipo di oggetto saràcategory
).on-error
Specifica se mostrare gli errori di sincronizzazione come avvisi o errori. Opzioni disponibili per l'errore:- 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, quindi viene creato il file in base al nome TargetSynchronizationReport.XML.
Esempio di sintassi
<synchronize-target
object-name="ots_triggers.dbo"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
Oppure
<synchronize-target
object-name="ssma.dbo.Procedures"
object-type="category"/>
Oppure
<synchronize-target>
<metabase-object object-name="ssma.dbo.TT1"/>
<metabase-object object-name="ssma.dbo.TT2"/>
<metabase-object object-name="ssma.dbo.TT3"/>
</synchronize-target>
refresh-from-database
Aggiorna gli oggetti di origine dal database. Se questo comando viene eseguito sul database di destinazione, viene generato un errore.
Script
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 (può avere singoli nomi oggetto o un nome oggetto di gruppo).object-type
: Specifica il tipo dell'oggetto specificato nell'attributo nome oggetto (se viene specificata la categoria di oggetti, allora il tipo di oggetto saràcategory
).on-error
Specifica se mostrare gli errori di aggiornamento come avvisi o errori. Opzioni disponibili per l'errore: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, quindi viene creato il file in base al nome SourceDBRefreshReport.XML.
Esempio di sintassi
<refresh-from-database
object-name="ssma.TT1"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
Oppure
<refresh-from-database
object-name="ssma.Procedures"
object-type="category"/>
Oppure
<refresh-from-database>
<metabase-object object-name="ssma.TT_1"/>
</refresh-from-database>
Comandi del file di script di generazione script
I comandi Generazione script consentono di salvare l'output della console in un file di script.
save-as-script
Usato 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 li si esegue nel database di destinazione.
Script
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 oggetto o un nome oggetto di gruppo)object-type
: specifica il tipo dell'oggetto mostrato nell'attributoobject-name
. Se viene specificata la categoria di oggetti, allora 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, il nome di file è nel formato (object_name attribute value
).overwrite
: setrue
, sovrascrive nel caso siano presenti gli stessi nomi di file. Può avere i valori (true
/false
).
Esempio di sintassi
<save-as-script
metabase="<source/target>"
object-name="ssma.dbo.Procedures"
object-type="category"
destination="<file/folder>"
overwrite="<true/false>" (optional)
/>
Oppure
<save-as-script
metabase="<source/target>"
destination="<file/folder>"
>
<metabase-object object-name="ssma.dbo.Procedures"
object-type="category"/>
</save-as-script>