Ausführen der SSMA-Konsole (AccessToSQL)
Microsoft bietet Ihnen eine Reihe von Skriptdatei-Befehlen und robusten Befehlszeilenoptionen zur Ausführung und Steuerung von SQL Server Migration Assistant (SSMA)-Aktivitäten. In den folgenden Abschnitten wird dies näher erläutert.
Projekt-Skriptdatei-Befehle
Die Projekt-Befehle sind für das Erstellen von Projekten sowie Öffnen, Speichern und Beenden von Projekten.
create-new-project
Erstellt ein neues SSMA-Projekt.
Attribut | Standardwert | Beschreibung | type |
---|---|---|---|
project-folder |
Keine | Gibt den Ordner des Projekts an, der erstellt wird. | String |
project-name |
Keine | Gibt den Namen des Projekts an. | String |
overwrite-if-exists |
false |
Optionales Attribut, das angibt, ob ein vorhandenes Projekt überschrieben werden soll. | Boolean |
project-type |
sql-server-2008 |
Optionales Attribut. Die folgenden Optionen sind verfügbar für project-type :sql-server-2005 sql-server-2008 sql-server-2012 sql-server-2014 sql-server-2016 sql-azure |
String |
Syntaxbeispiel
<create-new-project
project-folder="<project-folder>"
project-name="<project-name>"
overwrite-if-exists="<true | false>"
project-type="<project-type>"
/>
open-project
Öffnet ein vorhandenes Projekt.
Attribut | Standardwert | Beschreibung | type |
---|---|---|---|
project-folder |
Keine | Gibt den Ordner des Projekts an, der erstellt wird. Der Befehl schlägt fehl, wenn der angegebene Ordner nicht vorhanden ist. | String |
project-name |
Keine | 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
SSMA Für Access Konsole-Anwendung unterstützt Abwärtskompatibilität. Sie können Projekte öffnen, die mit früherer Version von SSMA erstellt wurden.
save-project
Speichert das Migrationsprojekt.
Syntaxbeispiel
<save-project/>
close-project
Schließt das Migrationsprojekt.
Attribut | Standardwert | Beschreibung | type |
---|---|---|---|
if-modified |
ignore |
Optionales Attribut zum Angeben des Verhaltens. Mögliche Werte sind: save , error und ignore . |
String |
Syntaxbeispiel
<close-project
if-modified="<save/error/ignore>" (optional)
/>
Das Attribut „if-modified“ ist optional, standardmäßig ist es ignorieren.
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.
Die Parameter Windows-Authentifizierungs und Port sind beim Herstellen einer Verbindung mit SQL Azure nicht anwendbar.
Weitere Informationen finden Sie unter Erstellen von Skriptdateien (AccessToSQL).
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
Die server
-Definition wird aus dem Namensattribut abgerufen, das für jede Verbindung im server
-Abschnitt der Serververbindungsdatei oder der Skriptdatei definiert ist.
Syntaxbeispiel
<connect-source-database server="<server-unique-name>"/>
load-access-database
Wird zum Laden von Zugriffsdatenbankdateien verwendet.
Attribut | Standardwert | Beschreibung | type |
---|---|---|---|
database-file |
Keine | Gibt den Pfad auf die Access-Datenbank an. | String |
Syntaxbeispiel
<load-access-database database-file="<Access-database>"/>
-ODER-
<load-access-database>
<access-database database-file="<Access-database1>"/>
<access-database database-file="<Access-database2>"/>
</load-access-database>
force-load
Quell- oder Zieldatenbank
Lädt die Quellmetadaten. Nützlich für die Offlinearbeit am Migrationsprojekt.
Wenn die Verbindung mit der Quelle oder dem Ziel nicht hergestellt werden kann, wird ein Fehler generiert, und die Konsolenanwendung beendet die weitere Ausführung
Erfordert mindestens einen metabase
-Knoten als Befehlszeilenparameter.
Attribut | Standardwert | Beschreibung | type |
---|---|---|---|
object-name |
Keine | Gibt den Namen des Objekts an. | String |
metabase |
Keine | Gibt den Pfad auf die Access-Datenbank an. Mögliche Werte sind: source oder target |
String |
Syntaxbeispiel
<force-load
object-name="<object-name>"
metabase="<source/target>"/>
-ODER-
<force-load>
<metabase-object object-name="<object-name>"/>
</force-load>
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.
Die server
-Definition wird aus dem Namensattribut abgerufen, das für jede Verbindung im server
-Abschnitt der Serververbindungsdatei oder der Skriptdatei definiert ist.
Syntaxbeispiel
<reconnect-source-database server="<server-unique-name>"/>
connect-target-database
Stellt eine Verbindung mit der Ziel-SQL Server- oder SQL Azure-Datenbank her und lädt allgemeine Metadaten der Zieldatenbank, aber nicht alle Metadaten.
Wenn die Verbindung mit dem Ziel nicht hergestellt werden kann, wird ein Fehler generiert, und die Konsolenanwendung beendet die weitere Ausführung.
Die server
-Definition wird aus dem Namensattribut abgerufen, das für jede Verbindung im server
-Abschnitt der Serververbindungsdatei oder der Skriptdatei definiert ist.
Syntaxbeispiel
<connect-target-database server="<server-unique-name>"/>
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.
Die server
-Definition wird aus dem Namensattribut abgerufen, das für jede Verbindung im server
-Abschnitt der Serververbindungsdatei oder der Skriptdatei definiert ist.
Syntaxbeispiel
<reconnect-target-database server="<server-unique-name>"/>
Befehle der Berichtsskriptdatei
Die „Bericht“-Befehle generieren Berichte über die Leistung verschiedener SSMA-Konsolenaktivitäten
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
assessment-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 (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, lautet der Objekttyp „Kategorie“).assessment-report-overwrite
: Gibt an, ob der Ordner „Bewertungsbericht“ überschrieben werden soll, falls er bereits vorhanden ist.Standardwert: False. (Optional-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 mit dem Namen AssessmentReport<n>.XML erstellt. (Optional-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="ssma.Procedures"
object-type="category"
write-summary-report-to="<file>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
-ODER-
<generate-assessment-report
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="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.
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. (optionales Attribut)object-name
: Gibt das (die) Quellobjekt(e) an, das (die) für die Konvertierung des Schemas berücksichtigt wird (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, lautet der Objekttyp „Kategorie“).conversion-report-overwrite
: Gibt an, ob der Ordner „Bewertungsbericht“ überschrieben werden soll, falls er bereits vorhanden ist.Standardwert: False. (Optional-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 mit dem Namen SchemaConversionReport<n>.XML erstellt. (Optional-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="ssma.Procedures"
object-type="category"
write-summary-report-to="<filepath/folder>" (optional)
verbose="<true/false>" (optional)
report-errors="<true/false>" (optional)
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
/>
-ODER-
<convert-schema
conversion-report-folder="<folder>" (optional)
conversion-report-overwrite="<true/false>" (optional)
>
<metabase-object object-name="ssma.Procedures"
object-type="category"/>
</convert-schema>
migrate-data
Migriert Quelldaten zum Ziel.
Skript
object-name
: Gibt das (die) Quellobjekt(e) an, das (die) für die Migration von Daten berücksichtigt wird (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, lautet der Objekttyp „Kategorie“).write-summary-report-to
: Gibt den Pfad an, in dem der Bericht generiert wird.Wenn nur der Ordnerpfad erwähnt wird, wird die Datei mit dem Namen DataMigrationReport<n>.XML erstellt. (Optional-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="<filepath/folder>"
report-errors="true" verbose="true">
<metabase-object object-name="ssma.TT1"/>
<metabase-object object-name="ssma.TT2"/>
<metabase-object object-name="ssma.TT3"/>
<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="ssma.Tables"
object-type="category"
write-summary-report-to="<filepath/folder>"
report-errors="true" verbose="true"/>
link-tables
Mit diesem Befehl wird die Quell-(Access)-Tabelle mit der Zieltabelle verknüpft.
Skript
Syntaxbeispiel
<link-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</link-tables>
-ODER-
<link-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</link-tables>
unlink-tables
Mit diesem Befehl wird die Verbindung der Quell-(Access)-Tabelle mit der Zieltabelle entfernt.
Skript
Syntaxbeispiele:
<unlink-tables>
<metabase-object object-name="AccessDatabase.table1" object-type="Tables"/>
<metabase-object object-name="AccessDatabase.table2" object-type="Tables"/>
</unlink-tables>
-ODER-
<unlink-tables>
<metabase-object object-name="AccessDatabase.Tables" object-type="category"/>
</unlink-tables>
Befehle der Skriptdatei für die Migrationsvorbereitung
Der Befehl „Migrationsvorbereitung“ startet die Schemazuordnung zwischen der Quell- und Zieldatenbank.
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"/>
Verwaltbarkeitsbefehle
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.
synchronize-target
Synchronisiert die Zielobjekte mit der Zieldatenbank. Wenn dieser Befehl für die Quelldatenbank ausgeführt wird, wird ein Fehler angezeigt.
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, lautet der Objekttyp „category
“).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 (optionales Attribut) an, wenn nur der Ordnerpfad angegeben wird, und die Datei mit dem Namen TargetSynchronizationReport.XML erstellt wird.
Syntaxbeispiel
<synchronize-target
object-name="ots_triggers.dbo"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
-ODER-
<synchronize-target
object-name="ssma.dbo.Procedures"
object-type="category"/>
-ODER-
<synchronize-target>
<metabase-object object-name="ssma.dbo.TT1"/>
<metabase-object object-name="ssma.dbo.TT2"/>
<metabase-object object-name="ssma.dbo.TT3"/>
</synchronize-target>
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 das Aktualisieren 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, lautet der Objekttyp „category
“).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, und die Datei mit dem Namen SourceDBRefreshReport.XML erstellt wird.
Syntaxbeispiel
<refresh-from-database
object-name="ssma.TT1"
on-error="<report-total-as-warning|
report-each-as-warning|
fail-script>" (optional)
report-errors-to="<file-name>" (optional)
/>
-ODER-
<refresh-from-database
object-name="ssma.Procedures"
object-type="category"/>
-ODER-
<refresh-from-database>
<metabase-object object-name="ssma.TT_1"/>
</refresh-from-database>
Skriptdateibefehle für die Skriptgenerierung
Mit den Befehlen zur Skriptgenerierung können Sie die Konsolenausgabe in einer Skriptdatei speichern.
save-as-script
Wird verwendet, um die Skripte der Objekte in einer Datei zu speichern, die bei metabase=target erwähnt wird. Dies ist eine Alternative zum Synchronisierungsbefehl, bei dem wir die Skripte abrufen und dieselben in der Zieldatenbank ausführen.
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 imobject-name
-Attribut angegebenen Objekts an. wenn die Objektkategorie angegeben ist, lautet der Objekttypcategory
.metabase
: Gibt an, ob es sich um die Quell- oder Ziel-Metabase 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
) angegeben.overwrite
: Wenntrue
, dann überschreibt es, wenn dieselben Dateinamen vorhanden sind. Es kann die Werte (true
/false
) aufweisen.
Syntaxbeispiel
<save-as-script
metabase="<source/target>"
object-name="ssma.dbo.Procedures"
object-type="category"
destination="<file/folder>"
overwrite="<true/false>" (optional)
/>
-ODER-
<save-as-script
metabase="<source/target>"
destination="<file/folder>"
>
<metabase-object object-name="ssma.dbo.Procedures"
object-type="category"/>
</save-as-script>