Condividi tramite


Creare file di script (Db2ToSQL)

Prima di avviare l'applicazione console di SQL Server Migration Assistant (SSMA), è necessario creare il file di script. Se necessario, è anche possibile creare il file del valore della variabile e il file di connessione del server.

Il file di script può essere suddiviso in tre sezioni:

Sezione Descrizione
config Impostare i parametri di configurazione per l'applicazione console.
servers Impostare le definizioni del server di origine/di destinazione. Può anche trovarsi in un file di connessione server separato.
script-commands Eseguire i comandi del flusso di lavoro SSMA.

Ogni sezione è descritta in dettaglio in questo articolo.

Configurare le impostazioni dell'applicazione console SSMA

Le configurazioni di uno script vengono visualizzate nel file di script della console.

Se uno degli elementi viene specificato nel nodo di configurazione, viene impostato come impostazione globale. In altre parole, si applicano a tutti i comandi script. Questi elementi di configurazione possono essere impostati anche all'interno di ogni comando nella sezione script-command se si vuole eseguire l'override dell'impostazione globale.

Le opzioni configurabili dall’utente includono:

  1. Provider finestra di output: se suppress-messages l'attributo è impostato su true, i messaggi specifici del comando non vengono visualizzati nella console.

    Attributo Descrizione
    destination Specifica se l'output deve essere stampato in un file o stdout. false per impostazione predefinita.
    file-name (facoltativo) Percorso del file.
    suppress-messages Elimina i messaggi nella console. false per impostazione predefinita.

    Esempio:

    <output-providers>
      <output-window
        suppress-messages="<true/false>"   (optional)
        destination="<file/stdout>"        (optional)
        file-name="<file-name>"            (optional)
       />
    </output-providers>
    

    or

    <...All commands...>
      <output-window
         suppress-messages="<true/false>"   (optional)
         destination="<file/stdout>"        (optional)
         file-name="<file-name>"            (optional)
       />
    </...All commands...>
    
  2. Provider di connessione alla migrazione dati: specifica quale server di origine/destinazione deve essere considerato per la migrazione dei dati. Source-use-last-used indica che l'ultimo server di origine usato viene usato per la migrazione dei dati. Analogamente, target-use-last-used indica che l'ultimo server di destinazione usato viene usato per la migrazione dei dati. È anche possibile specificare il server (origine o destinazione) usando gli attributi source-server o target-server.

    È possibile impostare solo uno di questi attributi alla volta:

    • source-use-last-used="true" (impostazione predefinita) o source-server="<source-server-unique-name>"
    • target-use-last-used="true" (impostazione predefinita) o target-server="<target-server-unique-name>"

    Esempio:

    <output-providers>
      <data-migration-connection   source-use-last-used="true"
                                   target-server="<target-server-unique-name>"/>
    </output-providers>
    

    or

    <migrate-data>
      <data-migration-connection   source-server="<source-server-unique-name>"
                                   target-use-last-used="true"/>
    </migrate-data>
    
  3. Popup input utente: consente la gestione degli errori, quando gli oggetti vengono caricati dal database. Specificare le modalità di input e, in caso di errore, la console procede come specificato.

    Modalità Descrizione
    ask-user Richiede la continuazione (yes) o l'errore (no).
    error (predefinito) Nella console viene visualizzato un errore e viene interrotta l'esecuzione.
    continue La console procede con l'esecuzione.

    Esempio:

    <output-providers>
      <user-input-popup mode="<ask-user/continue/error>"/>
    </output-providers>
    

    or

    <!-- Connect to target database -->
    <connect-target-database server="<target-server-unique-name>">
      <user-input-popup mode="<ask-user/continue/error>"/>
    </connect-target-database>
    
  4. Reconnect Provider (Provider di riconnessione): consente di impostare le impostazioni di riconnessione in caso di errore di connessione. Può essere impostato sia per i server di origine che per i server di destinazione.

    Modalità di riconnessione Descrizione
    reconnect-to-last-used-server Se la connessione non è attiva, tenta di riconnettersi all'ultimo server usato cinque volte al massimo.
    generate-an-error (predefinito) Se la connessione non è attiva, viene generato un errore.

    Esempio:

    <output-providers>
      <reconnect-manager  on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"
                          on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>
    </output-providers>
    

    or

    <!--synchronization-->
    <synchronize-target>
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>
    </synchronize-target>
    

    or

    <!--data migration-->
    <migrate-data server="<target-server-unique-name>">
      <reconnect-manager
        on-source-reconnect="reconnect-to-last-used-server"
        on-target-reconnect="generate-an-error"/>
    </migrate-data>
    
  5. Provider di sovrascrittura convertitore: consente di gestire gli oggetti già presenti nella metabase di destinazione.

    Azione Descrizione
    error Nella console viene visualizzato un errore e viene interrotta l'esecuzione.
    overwrite (predefinito) Sovrascrive i valori degli oggetti esistenti.
    skip La console ignora gli oggetti già esistenti nel database.
    ask-user Richiede l'input (yes / no).

    Esempio:

    <output-providers>
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </output-providers>
    

    or

    <convert-schema object-name="<object-name>">
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </convert-schema>
    
  6. Provider prerequisiti non riusciti: è possibile gestire tutti i prerequisiti necessari per l'elaborazione di un comando. Per impostazione predefinita, strict-mode è false. Se true, viene generata un'eccezione per il mancato rispetto dei prerequisiti.

    Esempio:

    <output-providers>
      <prerequisites strict-mode="<true/false>"/>
    </output-providers>
    
  7. Arresta operazione: durante l'operazione intermedia, se si vuole arrestare l'operazione, è possibile usare il tasto di scelta rapida CTRL+C. SSMA per l'applicazione console SSMA attende il completamento dell'operazione e termina l'esecuzione della console.

    Se si vuole arrestare immediatamente l'esecuzione, è possibile premere di nuovo il tasto di scelta rapida CTRL+C per la terminazione dell'applicazione console SSMA.

  8. Provider di stato: informa sullo stato di avanzamento di ogni comando della console. Disabilitato per impostazione predefinita. Gli attributi di creazione di report sullo stato di avanzamento includono:

    • off
    • every-1%
    • every-2%
    • every-5%
    • every-10%
    • every-20%

    Esempio:

    <output-providers>
      progress-reporting   enable="<true/false>"            (optional)
                           report-messages="<true/false>"   (optional)
                           report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off" (optional)/>
    </output-providers>
    

    or

    <...All commands...>
      <progress-reporting
        enable="<true/false>"              (optional)
        report-messages="<true/false>"     (optional)
        report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off"     (optional)/>
    </...All commands...>
    
  9. Dettaglio logger: imposta il livello di dettaglio del log. Corrisponde all'opzione Tutte le categorie nell'interfaccia utente.

    Livello del logger Descrizione
    fatal-error Vengono registrati solo messaggi di errore irreversibile.
    error (predefinito) Vengono registrati solo messaggi di errore e di errore irreversibile.
    warning Vengono registrati tutti i livelli, ad eccezione dei messaggi di debug e informazioni.
    info Tutti i livelli, ad eccezione dei messaggi di debug, vengono registrati.
    debug Tutti i livelli di messaggi registrati.

    I messaggi obbligatori vengono registrati a qualsiasi livello.

    Esempio:

    <output-providers>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </output-providers>
    

    or

    <...All commands...>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </...All commands...>
    
  10. Eseguire l'override della password crittografata: se true, la password non crittografata specificata nella sezione relativa alla definizione del server del file di connessione del server o nel file di script esegue l'override della password crittografata archiviata nell'archiviazione protetta, se presente. Se non viene specificata alcuna password in testo non crittografato, viene richiesto di immettere la password.

    Ecco due casi:

    1. Se l'opzione override è false, l'ordine di ricerca è Protected storage File Server Connection File > Prompt User.If override option is false, the order of search is Protected storage > File Server File > Prompt User.

    2. Se l'opzione override è true, l'ordine di ricerca è Script File Server Connection File > > Prompt User .

    Esempio:

    <output-providers>
      <encrypted-password override="<true/false>"/>
    </output-providers>
    

L'opzione non configurabile è:

  • Numero massimo di tentativi di riconnessione: quando una connessione stabilita scade o si interrompe a causa di un errore di rete, il server deve essere riconnesso. I tentativi di riconnessione sono consentiti a un massimo di 5 tentativi dopo i quali la console esegue automaticamente la riconnessione. La funzionalità di riconnessione automatica riduce lo sforzo di riesecuzione dello script.

Parametri di connessione server

I parametri di connessione server possono essere definiti nel file di script o nel file di connessione del server. Per altre informazioni, vedere Creare i file di connessione del server.

Comandi script

Il file di script contiene una sequenza di comandi del flusso di lavoro di migrazione nel formato XML. L'applicazione console SSMA elabora la migrazione nell'ordine dei comandi visualizzati nel file di script.

Ad esempio, una tipica migrazione dei dati di una tabella specifica in un database Db2 segue la gerarchia della tabella dello schema>.

Quando tutti i comandi nel file di script vengono eseguiti correttamente, l'applicazione console SSMA viene chiusa. Il contenuto di un file di script è più o meno statico con informazioni sulle variabili contenute in un file di valori di variabile o in una sezione separata all'interno del file di script per i valori delle variabili.

Esempio:

Di seguito è riportato un esempio dei comandi del file di script:

<ssma-script-file>
  <script-commands>
    <create-new-project project-folder="<project-folder>"
                        project-name="<project-name>"
                        overwrite-if-exists="<true/false>"/>
    <connect-source-database server="<source-server-unique-name>"/>
    <save-project/>
    <close-project/>
  </script-commands>
</ssma-script-file>

I modelli costituiti da tre file di script (per l'esecuzione di vari scenari), un file di valore variabile e un file di connessione server vengono forniti nella cartella Script della console di esempio della directory del prodotto:

  • AssessmentReportGenerationSample.xml
  • ConversionAndDataMigrationSample.xml
  • SqlStatementConversionSample.xml
  • VariableValueFileSample.xml
  • ServersConnectionFileSample.xml

È possibile eseguire i modelli (file) dopo aver modificato i parametri visualizzati per la pertinenza.

L'elenco completo dei comandi script è disponibile in Eseguire la console SSMA

Convalida dei file di script

È possibile convalidare il file di script con il file O2SSConsoleScriptSchema.xsddi definizione dello schema , disponibile nella Schemas cartella .