Freigeben über


Ausführen der SSMA-Konsole (SybaseToSQL)

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 das gleiche detailiert.

Skriptdateibefehle

Die Konsolenanwendung verwendet bestimmte Standardmäßige Skriptdateibefehle, die in diesem Abschnitt aufgelistet werden.

Project-Befehle

Die Project-Befehle behandeln das Erstellen von Projekten, Öffnen, Speichern und Beenden von Projekten.

create-new-project-Befehl

Mit diesem Befehl wird ein neues SSMA-Projekt erstellt.

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

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

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

  • project-type: Optionales Attribut. Gibt den Projekttyp an, d. h. sql-server-2016, sql-server-2017, sql-server-2019, sql-server-2022, sql-server-2025 oder sql-azure. Der Standardwert lautet sql-server-2016.

Syntaxbeispiel

<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-server-2025 | sql-azure>"
/>

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

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

open-project-Befehl

Mit diesem Befehl wird das Projekt geöffnet.

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

Hinweis

Die SSMA für SAP ASE-Konsolenanwendung unterstützt die Abwärtskompatibilität. Sie können es verwenden, um Projekte zu öffnen, die mit früherer Version von SSMA erstellt wurden.

save-project-Befehl

Mit diesem Befehl wird das Migrationsprojekt gespeichert.

Syntaxbeispiel

<save-project/>

close-project-Befehl

Mit diesem Befehl wird das Migrationsprojekt geschlossen.

Syntaxbeispiel

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

Attribut if-modified ist standardmäßig optional ignore .

Datenbankverbindungsbefehle

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.

connect-source-database-Befehl

Dieser Befehl führt eine Verbindung mit der Quelldatenbank aus und lädt allgemeine Metadaten 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.

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

force-load-source/target-database-Befehl

Mit diesem Befehl werden die Quellmetadaten geladen, und es ist nützlich, offline an Migrationsprojekt zu arbeiten.

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

Dieser Befehl erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

Syntaxbeispiel

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

reconnect-source-database-Befehl

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

connect-target-database-Befehl

Dieser Befehl stellt eine Verbindung mit der SQL Server-Zieldatenbank her und lädt nur allgemeine Metadaten der Zieldatenbank, jedoch nicht die Metadaten vollständig.

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

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

Syntaxbeispiel

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

reconnect-target-database-Befehl

Dieser Befehl 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 für Berichte

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

generate-assessment-report-Befehl

Dieser Befehl 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.

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

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

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut aufgerufen wird (wenn die Objektkategorie angegeben ist, lautet der Objekttyp "category").

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

    Standardwert: false. (optionales Attribut)

  • 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 AssessmentReport<n>.xml erstellt. (optionales Attribut)

    Die Berichterstellung verfügt über zwei weitere Unterkategorien:

    • report-errors (="true/false", standardmäßig als "false" (optionale Attribute))

    • verbose (="true/false", standardmäßig als "false" (optionale Attribute))

Syntaxbeispiel

<generate-assessment-report
  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)
  assessment-report-folder="<folder-name>"          (optional)
  conversion-report-overwrite="<true/false>"   (optional)
/>

Oder:

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

Migrationsbefehle

Mit den Migrationsbefehlen wird das Zieldatenbankschema in das Quellschema konvertiert und Daten auf den Zielserver migriert.

convert-schema-Befehl

Mit diesem Befehl wird die Schemakonvertierung von der Quelle in das Zielschema ausgeführt.

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.

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

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

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut aufgerufen wird (wenn die Objektkategorie angegeben ist, lautet der Objekttyp "category").

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

    Standardwert: false. (optionales 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 SchemaConversionReport<n>.xml erstellt. (optionales Attribut)

    Die Berichterstellung verfügt über zwei weitere Unterkategorien:

    • report-errors (="true/false", standardmäßig als "false" (optionale Attribute))

    • verbose (="true/false", standardmäßig 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>

migrate-data-Befehl

Mit diesem Befehl werden die Quelldaten zum Ziel migriert.

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

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut aufgerufen wird (wenn objektkategorie angegeben wird, lautet der Objekttyp "category").

  • 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 DataMigrationReport<n>.xml erstellt. (optionales Attribut)

    Die Berichterstellung verfügt über zwei weitere Unterkategorien:

    • report-errors (="true/false", standardmäßig als "false" (optionale Attribute))

    • verbose (="true/false", standardmäßig 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>"/>

Befehl 'Migrationsvorbereitung'

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

Hinweis

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.

map-schema-Befehl

Dieser Befehl stellt die Schemazuordnung der Quelldatenbank zum Zielschema bereit.

  • source-schema Gibt das zu migrierende Quellschema an.

  • sql-server-schema Gibt das Zielschema an, zu dem das Quellschema migriert wird.

Syntaxbeispiel

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

Verwaltbarkeitsbefehle

Die Befehle "Verwaltbarkeit" helfen beim Synchronisieren der Zieldatenbankobjekte mit der Quelldatenbank.

Hinweis

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.

synchronize-target-Befehl

Mit diesem Befehl werden die Zielobjekte mit der Zieldatenbank synchronisiert.

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

Wenn die Zieldatenbankverbindung vor dem Ausführen dieses Befehls nicht 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.

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

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut aufgerufen wird (wenn objektkategorie angegeben wird, lautet der Objekttyp "category").

  • on-error: Gibt an, ob Synchronisierungsfehler als Warnungen oder Fehler angegeben werden sollen. Verfügbare Optionen bei 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 eine Datei mit dem Namen 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>

refresh-from-database-Befehl

Mit diesem Befehl werden die Quellobjekte aus der Datenbank aktualisiert.

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

Dieser Befehl erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

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

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

  • on-error: Gibt an, ob Aktualisierungsfehler als Warnungen oder Fehler aufgerufen werden sollen. Verfügbare Optionen bei 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 eine Datei mit dem Namen 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>

Skriptgenerierungsbefehle

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

save-as-script-Befehl

Wird verwendet, um die Skripts der Objekte in einer Datei zu speichern, die erwähnt wird, wenn metabase=target. Dies ist eine Alternative zum Synchronisierungsbefehl, in dem die Skripts abgerufen und in der Zieldatenbank ausgeführt werden.

Dieser Befehl erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

  • object-name: Gibt die Objekte an, deren Skripts gespeichert werden sollen (unterstützt einzelne Objektnamen oder einen Gruppenobjektnamen).

  • object-type: Gibt den Typ des Objekts an, das im Objektnamen-Attribut aufgerufen wird (wenn die Objektkategorie angegeben ist, lautet der Objekttyp "category").

  • 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 angegeben wird, wird ein Dateiname im Format (object_name attribute value).out angegeben.

  • overwrite: Wenn der Wert "wahr" ist, wird derselbe Dateiname überschrieben, wenn er existiert. Es kann die Werte (true/false) haben.

Syntaxbeispiel

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

Oder:

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

convert-sql-statement-Befehl

Mit diesem Befehl wird die SQL-Anweisung konvertiert.

  • 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. (optionales Attribut)

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

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

    Standardwert: false. (optionales Attribut)

  • write-converted-sql-to Gibt den Dateiordnerpfad (oder) an, in dem die 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 namens "Result.out" unter dem angegebenen Ordner geschrieben.

  • sql Gibt die zu konvertierenden Sybase-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 Zusammenfassungsbericht generiert wird. Wenn nur der Ordnerpfad erwähnt wird, wird die Datei anhand des Namens ConvertSQLReport.xml erstellt. (optionales Attribut)

    Die Erstellung von Zusammenfassungsberichten umfasst zwei weitere Unterkategorien, nämlich:

    • report-errors (="true/false", mit Standard als "false" (optionale Attribute)).

    • ausführlich (="true/false", standardmäßig als "false" (optionale Attribute)).

Dieser Befehl erfordert einen oder mehrere Metabasisknoten als Befehlszeilenparameter.

Syntaxbeispiel

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

Oder:

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

Oder:

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