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-exists
Optionales Attribut gibt an, ob ein vorhandenes Projekt überschrieben werden soll. {boolean}project-type:
Optionales Attribut. Gibt den Projekttyp an. Zum Beispiel:sql-server-2019
odersql-azure
. Der Standardwert istsql-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, istcategory
der 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-errors
true
oderfalse
, mit Standard alsfalse
(optionale Attribute)verbose
true
oderfalse
, mit Standard alsfalse
(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, istcategory
der 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-errors
true
oderfalse
, mit Standard alsfalse
(optionale Attribute)verbose
true
oderfalse
, mit Standard alsfalse
(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, istcategory
der 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-errors
true
oderfalse
, mit Standard alsfalse
(optionale Attribute)verbose
true
oderfalse
, mit Standard alsfalse
(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, istcategory
der 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, istcategory
der 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 NamensSourceDBRefreshReport.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, istcategory
der 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:
iftrue
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 demsql-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 demsql
Attribut angegeben wird, wird der konvertierte T-SQL in eine Datei geschrieben, die unter dem angegebenen Ordner benanntResult.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 NamensConvertSQLReport.xml
erstellt. (Optional-Attribut)Die Berichterstellung verfügt über zwei weitere Unterkategorien:
report-errors
:true
oderfalse
, mit Standard alsfalse
(optionale Attribute)verbose
:true
oderfalse
, mit Standard alsfalse
(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" />