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"/>

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>

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'attributo object-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: se true, 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>