Freigeben über


Ausführen der SSMA-Konsole (Db2ToSQL)

Microsoft bietet Ihnen einen robusten Satz von Skriptdateibefehlen zum Ausführen und Steuern von SQL Server Migration Assistant (SSMA)-Aktivitäten. In den folgenden Abschnitten wird dies näher erläutert. Die Konsolenanwendung verwendet bestimmte Standardmäßige Skriptdateibefehle, die in diesem Abschnitt aufgelistet werden.

Projekt-Skriptdatei-Befehle

Die Projekt-Befehle sind für das Erstellen von Projekten sowie Öffnen, Speichern und Beenden von Projekten.

Befehl

create-new-project: Erstellt ein neues SSMA-Projekt.

Skript

  • project-folder gibt den Ordner des Projekts an, der erstellt wird.

  • project-name gibt den Namen des Projekts an. {string}

  • overwrite-if-existsOptionales Attribut gibt an, ob ein vorhandenes Projekt überschrieben werden soll. {boolean}

  • project-type:Optionales Attribut. Gibt den Projekttyp an. Zum Beispiel: sql-server-2019 oder sql-azure. Der Standardwert ist sql-server-2016.

Beispiel:

<create-new-project
   project-folder="<project-folder>"
   project-name="<project-name>"
   overwrite-if-exists="<true/false>"   (optional)
   project-type="<sql-server-2016 | sql-server-2017 | sql-server-2019 | sql-server-2022 | sql-azure>"   (optional)
/>

Attribut overwrite-if-exists ist false standardmäßig.

Attribut project-type ist sql-server-2016 standardmäßig.

Befehl

open-project: Öffnet ein vorhandenes Projekt.

Skript

  • project-folder gibt den Ordner des Projekts an, der erstellt wird. Der Befehl schlägt fehl, wenn der angegebene Ordner nicht vorhanden ist. {string}

  • project-name gibt den Namen des Projekts an. Der Befehl schlägt fehl, wenn das angegebene Projekt nicht vorhanden ist. {string}

Syntaxbeispiel:

<open-project
   project-folder="<project-folder>"
   project-name="<project-name>"
/>

SSMA für Db2-Konsolenanwendung unterstützt Abwärtskompatibilität. Sie können Projekte öffnen, die mit früherer Version von SSMA erstellt wurden.

Befehl

save-project: Speichert das Migrationsprojekt.

Syntaxbeispiel:

<save-project/>

Befehl

close-project: Schließt das Migrationsprojekt.

Syntaxbeispiel:

<close-project
   if-modified="<save/error/ignore>"   (optional)
/>

Befehle der Datenbankverbindungsskriptdatei

Mit den Befehlen „Datenbankverbindung“ können Sie eine Verbindung mit der Datenbank herstellen.

  • Das Feature Browsen der Benutzeroberfläche wird in der Konsole nicht unterstützt.

  • Weitere Informationen finden Sie unter Erstellen von Skriptdateien.

Befehl

connect-source-database

  • Führt eine Verbindung mit der Quelldatenbank aus und lädt Metadaten auf hoher Ebene der Quelldatenbank, aber nicht alle Metadaten.

  • Wenn die Verbindung mit der Quelle nicht hergestellt werden kann, wird ein Fehler generiert, und die Konsolenanwendung beendet die weitere Ausführung

Skript

Die Serverdefinition wird aus dem Namensattribut abgerufen, das für jede Verbindung im Serverabschnitt der Serververbindungsdatei oder der Skriptdatei definiert ist.

Syntaxbeispiel:

<connect-source-database  server="<server-unique-name>"/>

Befehl

force-load-source-database/force-load-target-database

  • Lädt die Quellmetadaten.

  • Nützlich für die Offlinearbeit am Migrationsprojekt.

  • Wenn die Verbindung mit der Quelle/dem Ziel nicht hergestellt werden kann, wird ein Fehler generiert, und die Konsolenanwendung beendet die weitere Ausführung.

Skript

Erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

Syntaxbeispiel:

<force-load object-name="<object-name>"
  metabase="<source/target>"/>

Oder

<force-load>
   <metabase-object object-name="<object-name>"/>
</force-load>

Befehl

reconnect-source-database

  • Stellt eine erneute Verbindung mit der Quelldatenbank her, lädt jedoch keine Metadaten im Gegensatz zum Befehl „Connect-source-database“.

  • Wenn keine (erneute) Verbindung mit der Quelle hergestellt werden kann, wird ein Fehler generiert, und die Konsolenanwendung beendet die weitere Ausführung.

Syntaxbeispiel:

<reconnect-source-database  server="<server-unique-name>"/>

Befehl

connect-target-database

  • Stellt eine Verbindung mit der ZIEL-SQL Server-Datenbank und lädt allgemeine Metadaten der Zieldatenbank, aber nicht vollständig die Metadaten.

  • Wenn die Verbindung mit dem Ziel nicht hergestellt werden kann, wird ein Fehler generiert, und die Konsolenanwendung beendet die weitere Ausführung.

Skript

Die Serverdefinition wird aus dem Namensattribut abgerufen, das für jede Verbindung im Serverabschnitt der Serververbindungsdatei oder der Skriptdatei definiert ist.

Syntaxbeispiel:

<connect-target-database  server="<server-unique-name>"/>

Befehl

reconnect-target-database

  • Stellt eine erneute Verbindung mit der Zieldatenbank her, lädt jedoch keine Metadaten, im Gegensatz zum Befehl „Connect-target-database“.

  • Wenn keine (erneute) Verbindung mit dem Ziel hergestellt werden kann, wird ein Fehler generiert, und die Konsolenanwendung beendet die weitere Ausführung.

Syntaxbeispiel:

<reconnect-target-database  server="<server-unique-name>"/>

Befehle der Berichtsskriptdatei

Die Befehle "Bericht" generieren Berichte über die Leistung verschiedener SSMA-Konsolenaktivitäten.

Befehl

generate-assessment-report

  • Generiert Bewertungsberichte für die Quelldatenbank.

  • Wenn die Quelldatenbankverbindung vor dem Ausführen dieses Befehls nicht ausgeführt wird, wird ein Fehler generiert, und die Konsolenanwendung wird beendet.

  • Wenn während der Befehlsausführung keine Verbindung mit dem Quelldatenbankserver hergestellt werden kann, wird auch die Konsolenanwendung beendet.

Skript

  • conversion-report-folder: Gibt den Ordner an, in dem der Bewertungsbericht gespeichert werden kann. (Optional-Attribut)

  • object-name: Gibt die Objekte an, die für die Generierung von Bewertungsberichten berücksichtigt werden (Es kann einzelne Objektnamen oder einen Gruppenobjektnamen aufweisen).

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut angegeben ist (wenn objektkategorie angegeben wird, ist categoryder Objekttyp ).

  • conversion-report-overwrite: Gibt an, ob der Ordner "Bewertungsbericht" überschrieben werden soll, wenn er bereits vorhanden ist.

    Standardwert: False. (Optional-Attribut)

  • write-summary-report-to: Gibt den Pfad an, in dem der Zusammenfassungsbericht generiert wird.

    Wenn nur der Ordnerpfad erwähnt wird, wird die Datei mit dem Namen AssessmentReport<n>.XML erstellt. (Optional-Attribut)

    Die Berichterstellung verfügt über zwei weitere Unterkategorien:

    • report-errorstrue oder false, mit Standard als false (optionale Attribute)
    • verbosetrue oder false, mit Standard als false (optionale Attribute)

Syntaxbeispiel:

<generate-assessment-report
   object-name="<object-name>"
   object-type="<object-category>"
   write-summary-report-to="<file>"   (optional)
   verbose="<true/false>"   (optional)
   report-errors="<true/false>"   (optional)
   assessment-report-folder="<folder-name>"   (optional)
   conversion-report-overwrite="<true/false>"   (optional)
/>

Oder

<generate-assessment-report
   conversion-report-folder="<folder-name>"   (optional)
   conversion-report-overwrite="<true/false>"   (optional)
>
      <metabase-object object-name="<object-name>"
         object-type="<object-category>"/>
</generate-assessment-report>

Befehle der Migrationsskriptdatei

Mit den Migrationsbefehlen wird das Zieldatenbankschema in das Quellschema konvertiert und Daten auf den Zielserver migriert. Die Standardeinstellung für die Konsolenausgabe für die Migrationsbefehle ist der Ausgabebericht „Vollständig“ ohne detaillierte Fehlerberichterstattung: Nur Zusammenfassung auf dem Stammknoten der Quellobjektstruktur.

Befehl

convert-schema

  • Führt die Schemakonvertierung aus der Quelle in das Zielschema aus.

  • Wenn die Quell- oder Zieldatenbankverbindung nicht ausgeführt wird, bevor dieser Befehl ausgeführt wird, oder die Verbindung mit dem Quell- oder Zieldatenbankserver während der Befehlsausführung fehlschlägt, wird ein Fehler generiert, und die Konsolenanwendung wird beendet.

Skript

  • conversion-report-folder: Gibt den Ordner an, in dem der Bewertungsbericht gespeichert werden kann. (Optional-Attribut)

  • object-name: Gibt die Quellobjekte an, die für die Konvertierung des Schemas berücksichtigt werden (Es kann einzelne Objektnamen oder einen Gruppenobjektnamen aufweisen).

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut angegeben ist (wenn objektkategorie angegeben wird, ist categoryder Objekttyp ).

  • conversion-report-overwrite: Gibt an, ob der Ordner "Bewertungsbericht" überschrieben werden soll, wenn er bereits vorhanden ist.

    Standardwert: False. (Optional-Attribut)

  • write-summary-report-to: Gibt den Pfad an, in dem der Zusammenfassungsbericht generiert wird.

    Wenn nur der Ordnerpfad erwähnt wird, wird die Datei mit dem Namen SchemaConversionReport<n>.XML erstellt. (Optional-Attribut)

    Die Berichterstellung verfügt über zwei weitere Unterkategorien:

    • report-errorstrue oder false, mit Standard als false (optionale Attribute)

    • verbosetrue oder false, mit Standard als false (optionale Attribute)

Syntaxbeispiel:

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

Oder

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

Befehl

migrate-data: Migriert die Quelldaten zum Ziel.

Skript

  • conversion-report-folder: Gibt den Ordner an, in dem der Bewertungsbericht gespeichert werden kann. (Optional-Attribut)

  • object-name: Gibt die Quellobjekte an, die für die Migration von Daten berücksichtigt werden (Es kann einzelne Objektnamen oder einen Gruppenobjektnamen aufweisen).

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut angegeben ist (wenn objektkategorie angegeben wird, ist categoryder Objekttyp ).

  • conversion-report-overwrite: Gibt an, ob der Ordner "Bewertungsbericht" überschrieben werden soll, wenn er bereits vorhanden ist.

    Standardwert: False. (Optional-Attribut)

  • write-summary-report-to: Gibt den Pfad an, in dem der Zusammenfassungsbericht generiert wird.

    Wenn nur der Ordnerpfad erwähnt wird, wird die Datei anhand des Namens DataMigrationReport<n>.xml erstellt. (Optional-Attribut)

    Die Berichterstellung verfügt über zwei weitere Unterkategorien:

    • report-errorstrue oder false, mit Standard als false (optionale Attribute)
    • verbosetrue oder false, mit Standard als false (optionale Attribute)

Syntaxbeispiel:

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

Oder

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

Skriptbefehle für die Migrationsvorbereitung

Der Befehl "Migrationsvorbereitung" initiiert die Schemazuordnung zwischen der Quell- und Zieldatenbank.

Befehl

  • map-schema: Schemazuordnung der Quelldatenbank zum Zielschema.

Skript

  • source-schema: Gibt das Quellschema an, das migriert werden soll.
  • sql-server-schema: Gibt das Zielschema an, an dem es migriert werden soll.

Syntaxbeispiel:

<map-schema
   source-schema="<source-schema>"
   sql-server-schema="<target-schema>"/>

Befehl

map-schema: Schemazuordnung der Quelldatenbank zum Zielschema.

Skript

source-schema gibt das Quellschema an, das migriert werden soll.

sql-server-schema gibt das Zielschema an, in dem es migriert werden soll.

Syntaxbeispiel:

<map-schema
   source-schema="<source-schema>"
   sql-server-schema="<target-schema>"/>

Befehle für Die Verwaltbarkeitsskriptdatei

Die Befehle „Verwaltbarkeit“ helfen beim Synchronisieren der Zieldatenbankobjekte mit der Quelldatenbank.

Die Standardeinstellung für die Konsolenausgabe für die Migrationsbefehle ist der Ausgabebericht „Vollständig“ ohne detaillierte Fehlerberichterstattung: Nur Zusammenfassung auf dem Stammknoten der Quellobjektstruktur.

Befehl

synchronize-target

  • Synchronisiert die Zielobjekte mit der Zieldatenbank.

  • Wenn dieser Befehl für die Quelldatenbank ausgeführt wird, tritt ein Fehler auf.

  • Wenn die Zieldatenbankverbindung nicht ausgeführt wird, bevor dieser Befehl ausgeführt wird, oder die Verbindung mit dem Zieldatenbankserver während der Befehlsausführung fehlschlägt, wird ein Fehler generiert, und die Konsolenanwendung wird beendet.

Skript

  • object-name: Gibt die Zielobjekte an, die für die Synchronisierung mit der Zieldatenbank berücksichtigt werden (Es kann einzelne Objektnamen oder einen Gruppenobjektnamen aufweisen).

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut angegeben ist (wenn objektkategorie angegeben wird, ist categoryder Objekttyp ).

  • on-error: Gibt an, ob Synchronisierungsfehler als Warnungen oder Fehler angegeben werden sollen. Verfügbare Optionen für Fehler:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Gibt den Speicherort des Fehlerberichts für den Synchronisierungsvorgang an (optionales Attribut)

    Wenn nur der Ordnerpfad angegeben wird, wird die Datei anhand des Namens TargetSynchronizationReport.xml erstellt.

Syntaxbeispiel:

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

Oder

<synchronize-target
   object-name="<object-name>"
   object-type="<object-category>"/>

Oder

<synchronize-target>
   <metabase-object object-name="<object-name>"/>
   <metabase-object object-name="<object-name>"/>
   <metabase-object object-name="<object-name>"/>
</synchronize-target>

Befehl

refresh-from-database

  • Aktualisiert die Quellobjekte aus der Datenbank.

  • Wenn dieser Befehl für die Zieldatenbank ausgeführt wird, wird ein Fehler generiert.

Skript

Erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

  • object-name: Gibt die Quellobjekte an, die für die Aktualisierung aus der Quelldatenbank berücksichtigt werden (Es kann einzelne Objektnamen oder einen Gruppenobjektnamen haben).

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut angegeben ist (wenn objektkategorie angegeben wird, ist categoryder Objekttyp ).

  • on-error: Gibt an, ob Aktualisierungsfehler als Warnungen oder Fehler angegeben werden sollen. Verfügbare Optionen für Fehler:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Gibt den Speicherort des Fehlerberichts für den Aktualisierungsvorgang (optionales Attribut) an, wenn nur der Ordnerpfad angegeben wird, dann wird die Datei anhand des Namens SourceDBRefreshReport.xml erstellt.

Syntaxbeispiel:

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

Oder

<refresh-from-database
   object-name="<object-name>"
   object-type="<object-category>"/>

Oder

<refresh-from-database>
   <metabase-object object-name="<object-name>"/>
</refresh-from-database>

Skriptdateibefehle für die Skriptgenerierung

Die Befehle der Skriptgenerierung führen duale Aufgaben aus: Sie helfen, die Konsolenausgabe in einer Skriptdatei zu speichern; und notieren Sie die T-SQL-Ausgabe auf der Konsole oder einer Datei basierend auf dem von Ihnen angegebenen Parameter.

Befehl

save-as-script: Speichern Sie die Skripts der Objekte in einer Datei, die erwähnt wird, wenn metabase=target. Dies ist eine Alternative zum Synchronisierungsbefehl, bei dem die Skripts abgerufen und in der Zieldatenbank identisch ausgeführt werden.

Skript

Erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

  • object-name: Gibt die Objekte an, deren Skripts gespeichert werden sollen. (Es kann einzelne Objektnamen oder einen Gruppenobjektnamen enthalten)

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut angegeben ist (wenn objektkategorie angegeben wird, ist categoryder Objekttyp ).

  • metabase: Gibt an, ob es sich um die Quell- oder Zielmetabasis handelt.

  • destination: Gibt den Pfad oder den Ordner an, in dem das Skript gespeichert werden muss, wenn der Dateiname nicht im Format (object_name Attributwert) angegeben ist.

  • overwrite: if true then it overwrites if the same filename exists. Er kann die Werte (true/false) aufweisen.

Syntaxbeispiel:

<save-as-script
   metabase="<source/target>"
   object-name="<object-name>"
   object-type="<object-category>"
   destination="<file/folder>"
   overwrite="<true/false>"   (optional)
/>

Oder

<save-as-script
   metabase="<source/target>"
   destination="<file/folder>"
      <metabase-object object-name="<object-name>"
         object-type="<object-category>"/>
</save-as-script>

Befehl

convert-sql-statement

  • context Gibt den Schemanamen an.

  • destination Gibt an, ob die Ausgabe in einer Datei gespeichert werden soll.

    Wenn dieses Attribut nicht angegeben ist, wird die konvertierte T-SQL-Anweisung auf der Konsole angezeigt. (Optional-Attribut)

  • conversion-report-folder Gibt den Ordner an, in dem der Bewertungsbericht gespeichert werden kann. (Optional-Attribut)

  • conversion-report-overwrite Gibt an, ob der Ordner "Bewertungsbericht" überschrieben werden soll, sofern er bereits vorhanden ist.

    Standardwert: False. (Optional-Attribut)

  • write-converted-sql-to Gibt den Dateiordnerpfad (oder) an, in dem der konvertierte T-SQL gespeichert werden soll. Wenn ein Ordnerpfad zusammen mit dem sql-files Attribut angegeben wird, verfügt jede Quelldatei über eine entsprechende T-SQL-Zieldatei, die unter dem angegebenen Ordner erstellt wurde. Wenn ein Ordnerpfad zusammen mit dem sql Attribut angegeben wird, wird der konvertierte T-SQL in eine Datei geschrieben, die unter dem angegebenen Ordner benannt Result.out ist.

  • sql Gibt die zu konvertierenden DB2 SQL-Anweisungen an, eine oder mehrere Anweisungen können durch ein ";" getrennt werden.

  • sql-files Gibt den Pfad der SQL-Dateien an, die in T-SQL-Code konvertiert werden müssen.

  • write-summary-report-to Gibt den Pfad an, in dem der Bericht generiert wird. Wenn nur der Ordnerpfad erwähnt wird, wird die Datei anhand des Namens ConvertSQLReport.xml erstellt. (Optional-Attribut)

    Die Berichterstellung verfügt über zwei weitere Unterkategorien:

    • report-errors: true oder false, mit Standard als false (optionale Attribute)
    • verbose: true oder false, mit Standard als false (optionale Attribute)

Skript

Erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

Syntaxbeispiel:

<convert-sql-statement
   context="<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)
   file-name="<file-name>"
   sql="SELECT 1 FROM DUAL;">
   <output-window suppress-messages="<true/false>" />
</convert-sql-statement>

Oder

<convert-sql-statement
   context="<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>"
   destination="<stdout/file>"   (optional)
   write-converted-sql-to="<file-name/folder-name>"
   sql-files="<folder-name>\*.sql" />

Oder

<convert-sql-statement
   context="<schema-name>"
   conversion-report-folder="<folder-name>"
   conversion-report-overwrite="<true/false>"
   sql-files="<folder-name>\*.sql" />