Freigeben über


Erstellen von Skriptdateien (Db2ToSQL)

Bevor Sie die SQL Server Migration Assistant (SSMA)-Konsolenanwendung starten können, müssen Sie die Skriptdatei erstellen. Bei Bedarf können Sie auch die Variablenwertdatei und die Serververbindungsdatei erstellen.

Die Skriptdatei kann in drei Abschnitte unterteilt werden:

Abschnitt Beschreibung
config Legen Sie die Konfigurationsparameter für die Konsolenanwendung fest.
servers Legen Sie die Quell-/Zielserverdefinitionen fest. Kann sich auch in einer separaten Serververbindungsdatei befinden.
script-commands Führen Sie SSMA-Workflowbefehle aus.

Jeder Abschnitt wird in diesem Artikel ausführlich beschrieben.

Konfigurieren von SSMA-Konsolenanwendungseinstellungen

Die Konfigurationen eines Skripts werden in der Konsolenskriptdatei angezeigt.

Wenn eines der Elemente im Konfigurationsknoten angegeben ist, werden sie als globale Einstellung festgelegt. Mit anderen Worten, sie gelten für alle Skriptbefehle. Diese Konfigurationselemente können auch innerhalb der einzelnen Befehle im Skriptbefehlsbereich festgelegt werden, wenn Sie die globale Einstellung außer Kraft setzen möchten.

Zu den vom Benutzer konfigurierbaren Optionen gehören:

  1. Ausgabefensteranbieter: Wenn suppress-messages das Attribut auf "Attribut" festgelegt trueist, werden die befehlsspezifischen Nachrichten nicht auf der Konsole angezeigt.

    Attribute Beschreibung
    destination Gibt an, ob die Ausgabe in eine Datei oder ein Stdout gedruckt werden muss. false standardmäßig.
    file-name (optional) Der Pfad der Datei.
    suppress-messages Unterdrückt Nachrichten auf der Konsole. false standardmäßig.

    Beispiel:

    <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. Datenmigrationsverbindungsanbieter: Gibt an, welcher Quell-/Zielserver für die Datenmigration berücksichtigt werden soll. Der zuletzt verwendete Quellserver gibt an, dass der zuletzt verwendete Quellserver für die Datenmigration verwendet wird. In ähnlicher Weise gibt die Zielverwendung nach der letzten Verwendung an, dass der zuletzt verwendete Zielserver für die Datenmigration verwendet wird. Sie können den Server (Quelle oder Ziel) auch mithilfe der Attribute source-server oder target-server angeben.

    Es kann jeweils nur eins dieser Attribute festgelegt werden:

    • source-use-last-used="true" (Standard) oder source-server="<source-server-unique-name>"
    • target-use-last-used="true" (Standard) oder target-server="<target-server-unique-name>"

    Beispiel:

    <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. Benutzereingabe-Popup: Ermöglicht die Behandlung von Fehlern, wenn die Objekte aus der Datenbank geladen werden. Sie stellen die Eingabemodi bereit, und wenn ein Fehler auftritt, wird die Konsole wie angegeben fortgesetzt.

    Mode Beschreibung
    ask-user Fordert Sie auf, den Vorgang fortzusetzen (yes) oder fehler (no).
    error (Standard) Die Konsole zeigt einen Fehler an und hält die Ausführung an.
    continue Die Konsole fährt mit der Ausführung fort.

    Beispiel:

    <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. Anbieter erneut verbinden: Ermöglicht Ihnen das Festlegen der Einstellungen für die erneute Verbindung, wenn ein Verbindungsfehler auftritt. Dies kann sowohl für Quell- als auch für Zielserver festgelegt werden.

    Wiederverbindenmodus Beschreibung
    reconnect-to-last-used-server Wenn die Verbindung nicht aktiv ist, versucht sie, die Verbindung mit dem letzten Server erneut herzustellen, der höchstens fünf Mal verwendet wurde.
    generate-an-error (Standard) Wenn die Verbindung nicht aktiv ist, wird ein Fehler generiert.

    Beispiel:

    <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. Converter Overwrite Provider: Ermöglicht es Ihnen, Objekte zu behandeln, die bereits auf der Zielmetabasis vorhanden sind.

    Aktion Beschreibung
    error Die Konsole zeigt einen Fehler an und hält die Ausführung an.
    overwrite (Standard) Überschreibt vorhandene Objektwerte.
    skip Die Konsole überspringt die Objekte, die bereits in der Datenbank vorhanden sind.
    ask-user Fordert Sie zur Eingabe auf (yes / no).

    Beispiel:

    <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. Failed Prerequisites Provider: You can handle any prerequisites that are required for processing a command. strict-mode ist standardmäßig false. Wenn trueeine Ausnahme generiert wird, damit die Voraussetzungen nicht erfüllt werden.

    Beispiel:

    <output-providers>
      <prerequisites strict-mode="<true/false>"/>
    </output-providers>
    
  7. Stop-Operation: Wenn Sie den Vorgang beenden möchten, kann der Strg+C-Hotkey während des Mittleren Vorgangs verwendet werden. SSMA für SSMA-Konsolenanwendung wartet auf den Abschluss des Vorgangs und beendet die Konsolenausführung.

    Wenn Sie die Ausführung sofort beenden möchten, kann die STRG+C-Hotkey zum Beenden der SSMA-Konsolenanwendung erneut gedrückt werden.

  8. Statusanbieter: Informiert den Fortschritt der einzelnen Konsolenbefehle. Standardmäßig deaktiviert. Die Statusberichtsattribute umfassen:

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

    Beispiel:

    <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. Logger Verbosity: Legt die Ausführlichkeitsebene des Protokolls fest. Dies entspricht der Option "Alle Kategorien" auf der Benutzeroberfläche.

    Loggerebene Beschreibung
    fatal-error Es werden nur schwerwiegende Fehlermeldungen protokolliert.
    error (Standard) Es werden nur Fehler- und Schwerwiegende Fehlermeldungen protokolliert.
    warning Alle Ebenen mit Ausnahme von Debug- und Infomeldungen werden protokolliert.
    info Alle Ebenen mit Ausnahme von Debugmeldungen werden protokolliert.
    debug Alle protokollierten Nachrichtenebenen.

    Obligatorische Nachrichten werden auf jeder Ebene protokolliert.

    Beispiel:

    <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. Überschreiben des verschlüsselten Kennworts: Wenn truedas im Serverdefinitionsbereich der Serververbindungsdatei oder in der Skriptdatei angegebene Klartextkennwort außer Kraft setzt, falls vorhanden, das im geschützten Speicher gespeicherte verschlüsselte Kennwort außer Kraft. Wenn kein Kennwort im Klartext angegeben ist, werden Sie aufgefordert, das Kennwort einzugeben.

    Hier ergeben sich zwei Fälle:

    1. Wenn die Option "Außerkraftsetzung" falsch ist, lautet die Reihenfolge der Suche "Dateiserver-Dateiverbindungsbenutzer > für geschützte Speicherdateiserver>">.

    2. Wenn die Option "Außerkraftsetzung" zutrifft, lautet die Reihenfolge der Suche "Script File > Server Connection File > Prompt User".

    Beispiel:

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

Die nicht konfigurierte Option lautet:

  • Maximale Wiederholungsversuche: Wenn eine etablierte Verbindung aufgrund eines Netzwerkfehlers ausfällt oder unterbrochen wird, muss der Server erneut verbunden werden. Die Wiederholungsversuche dürfen maximal 5 erneut ausgeführt werden, danach führt die Konsole automatisch die erneute Verbindung aus. Die Einrichtung der automatischen Erneutverbindung reduziert ihren Aufwand beim erneuten Ausführen des Skripts.

Serververbindungsparameter

Serververbindungsparameter können in der Skriptdatei oder in der Serververbindungsdatei definiert werden. Weitere Informationen finden Sie unter Erstellen der Serververbindungsdateien.

Skriptbefehle

Die Skriptdatei enthält eine Sequenz von Migrationsworkflowbefehlen im XML-Format. Die SSMA-Konsolenanwendung verarbeitet die Migration in der Reihenfolge der Befehle, die in der Skriptdatei angezeigt werden.

Beispielsweise folgt eine typische Datenmigration einer bestimmten Tabelle in einer Db2-Datenbank der Hierarchie der Schematabelle>.

Wenn alle Befehle in der Skriptdatei erfolgreich ausgeführt werden, wird die SSMA-Konsolenanwendung beendet. Der Inhalt einer Skriptdatei ist mehr oder weniger statisch mit Variableninformationen, die entweder in einer Variablenwertdatei enthalten sind, oder in einem separaten Abschnitt in der Skriptdatei für Variablenwerte.

Beispiel:

Hier ist ein Beispiel für die Skriptdateibefehle:

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

Vorlagen, die aus drei Skriptdateien (für die Ausführung verschiedener Szenarien), variabler Wertdatei und einer Serververbindungsdatei bestehen, werden im Ordner "Sample Console Scripts" des Produktverzeichnisses bereitgestellt:

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

Sie können die Vorlagen (Dateien) nach dem Ändern der dort angezeigten Parameter zur Relevanz ausführen.

Vollständige Liste der Skriptbefehle finden Sie in der SSMA-Konsole ausführen

Skriptdateiüberprüfung

Sie können die Skriptdatei anhand der Schemadefinitionsdatei O2SSConsoleScriptSchema.xsdüberprüfen, die Schemas im Ordner verfügbar ist.