Teilen über


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

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>

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 im object-name-Attribut angegebenen Objekts an. wenn die Objektkategorie angegeben ist, lautet der Objekttyp category.

  • 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: Wenn true, 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>