Delen via


De SSMA-console uitvoeren (MySQLToSQL)

Microsoft biedt u een robuuste set scriptbestandsopdrachten voor het uitvoeren en beheren van SSMA-activiteiten (SQL Server Migration Assistant).

De consoletoepassing maakt gebruik van bepaalde standaardscriptbestandsopdrachten zoals opgesomd in deze sectie.

Opdrachten voor projectscriptbestanden

create-new-project opdracht

Hiermee maakt u een nieuw SSMA-project.

De projectopdrachten verwerken het maken van projecten, het openen, opslaan en afsluiten van projecten.

Script

  • project-folder: Geeft de map aan van het project dat wordt gemaakt.

  • project-name: Geeft de naam van het project aan. {string}

  • overwrite-if-exists: Optioneel kenmerk. Geeft aan of een bestaand project moet worden overschreven. {Booleaanse waarde}

  • project-type: Optioneel kenmerk. Geeft het projecttype aan, dat wil zeggen, sql-server-2016, sql-server-2017, sql-server-2019, sql-server-2022, sql-server-2025 of sql-azure. De standaardwaarde is sql-server-2016.

Voorbeeld van syntaxis

<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>"   (optional)
/>

Kenmerk overwrite-if-exists is standaard false.

Kenmerk project-type is standaard sql-server-2016.

open-project opdracht

Hiermee opent u een bestaand project.

Script

  • project-folder geeft de map aan van het project dat wordt gemaakt. De opdracht mislukt als de opgegeven map niet bestaat. {string}

  • project-name geeft de naam van het project aan. De opdracht mislukt als het opgegeven project niet bestaat. {string}

Voorbeeld van syntaxis

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

Belangrijk

SSMA For MySQL-consoletoepassing ondersteunt compatibiliteit met eerdere versies. U kunt projecten openen die zijn gemaakt met een eerdere versie van SSMA.

save-project opdracht

Hiermee wordt het migratieproject opgeslagen.

Voorbeeld van syntaxis

<save-project/>

close-project opdracht

Hiermee sluit u het migratieproject.

Voorbeeld van syntaxis

<save-project/>

Of:

<close-project

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

/>

Kenmerk if-modified is standaard optioneel ignore .

Opdrachten voor scriptbestand van databaseverbinding

Met de opdrachten Databaseverbinding kunt u verbinding maken met de database.

De functie Bladeren van de gebruikersinterface wordt niet ondersteund in de console.

De windows-authentication parameters en port parameters zijn niet van toepassing wanneer u verbinding maakt met SQL Azure.

Zie Scriptbestanden maken voor meer informatie.

connect-source-database opdracht

Hiermee wordt verbinding gemaakt met de brondatabase en worden metagegevens op hoog niveau van de brondatabase geladen, maar niet alle metagegevens.

Als de verbinding met de bron niet tot stand kan worden gebracht, wordt er een fout gegenereerd en stopt de consoletoepassing met verdere uitvoering.

Script

De serverdefinitie wordt opgehaald uit het naamkenmerk dat is gedefinieerd voor elke verbinding, in de serversectie van het serververbindingsbestand of het scriptbestand.

Voorbeeld van syntaxis

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

force-load-source/target-database opdracht

Laadt de bronmetagegevens.

Handig voor offline werken aan migratieproject.

Als de verbinding met de bron/het doel niet tot stand kan worden gebracht, wordt er een fout gegenereerd en stopt de consoletoepassing met verdere uitvoering.

Script

Vereist een of meerdere metabase-knooppunten als opdrachtregelparameter.

Voorbeeld van syntaxis

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

reconnect-source-database opdracht

Maakt opnieuw verbinding met de brondatabase, maar laadt geen metagegevens in tegenstelling tot de opdracht connect-source-database.

Als (opnieuw)verbinding met de bron niet tot stand kan worden gebracht, wordt er een fout gegenereerd en stopt de consoletoepassing de verdere uitvoering.

Voorbeeld van syntaxis

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

connect-target-database opdracht

Maakt verbinding met de doel-SQL Server of Azure SQL Database en laadt metagegevens op hoog niveau van de doeldatabase, maar niet volledig.

Als de verbinding met het doel niet tot stand kan worden gebracht, wordt er een fout gegenereerd en stopt de consoletoepassing de verdere uitvoering.

Script

De serverdefinitie wordt opgehaald uit het naamkenmerk dat is gedefinieerd voor elke verbinding, in de serversectie van het serververbindingsbestand of het scriptbestand.

Voorbeeld van syntaxis

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

reconnect-target-database opdracht

Maakt opnieuw verbinding met de doeldatabase, maar laadt geen metagegevens, in tegenstelling tot de opdracht connect-target-database.

Als (opnieuw)verbinding met het doel niet tot stand kan worden gebracht, wordt er een fout gegenereerd en stopt de consoletoepassing met verdere uitvoering.

Voorbeeld van syntaxis

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

Opdrachten voor rapportscriptbestanden

De rapportopdrachten genereren rapporten over de prestaties van verschillende SSMA-consoleactiviteiten.

generate-assessment-report opdracht

Hiermee worden evaluatierapporten op de brondatabase gegenereerd.

Als de brondatabaseverbinding niet wordt uitgevoerd voordat deze opdracht wordt uitgevoerd, wordt er een fout gegenereerd en wordt de consoletoepassing afgesloten.

Wanneer het niet mogelijk is om verbinding te maken met de brondatabaseserver tijdens de uitvoering van de opdracht, resulteert dit ook in het beëindigen van de consoletoepassing.

Script

  • assessment-report-folder: Hiermee geeft u de map op waar het evaluatierapport wordt opgeslagen. (optioneel kenmerk)

  • object-name: Hiermee geeft u de objecten op die worden overwogen voor het genereren van evaluatierapport (het kan afzonderlijke objectnamen of een groepsobjectnaam hebben).

  • object-type: geeft het type van het object op dat is opgegeven in het kenmerk objectnaam (als objectcategorie is opgegeven, is het objecttype 'categorie').

  • assessment-report-overwrite: Hiermee geeft u op of de map evaluatierapport moet worden overschreven als deze al bestaat.

    standaardwaarde: onwaar. (optioneel kenmerk)

  • write-summary-report-to: Hiermee geeft u het pad op waar het overzichtsrapport wordt gegenereerd.

    Als alleen het pad naar de map wordt vermeld, wordt bestand op naam AssessmentReport<n>.xml gemaakt. (optioneel kenmerk)

    Het maken van rapporten heeft twee andere subcategorieën:

    • report-errors (="true/false", met de standaardwaarde 'false' (optionele kenmerken))
    • verbose (="true/false", met de standaardwaarde 'false' (optionele kenmerken))

Voorbeeld van syntaxis

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

Of:

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

De opdrachten voor het migratiescriptbestand

Met de migratieopdrachten wordt het doeldatabaseschema geconverteerd naar het bronschema en worden gegevens naar de doelserver gemigreerd.

De standaardinstelling voor console-uitvoer voor de migratieopdrachten is het uitvoerrapport 'Volledig' zonder gedetailleerde foutrapportage: alleen samenvatting op het hoofdknooppunt van de bronobjectstructuur.

convert-schema opdracht

Voert schemaconversie van bron naar het doelschema uit.

Als de bron- of doeldatabaseverbinding niet wordt uitgevoerd voordat u deze opdracht uitvoert, of als de verbinding met de bron- of doeldatabaseserver mislukt tijdens de uitvoering van de opdracht, wordt er een fout gegenereerd en wordt de consoletoepassing afgesloten.

Script

  • conversion-report-folder: Hiermee geeft u de map op waar het evaluatierapport wordt opgeslagen. (optioneel kenmerk)

  • object-name: Hiermee geeft u de objecten die worden overwogen voor het converteren van schema (het kan afzonderlijke objectnamen of een groepsobjectnaam hebben).

  • object-type: geeft het type van het object op dat is opgegeven in het kenmerk objectnaam (als objectcategorie is opgegeven, is het objecttype 'categorie').

  • conversion-report-overwrite: Hiermee geeft u op of de map evaluatierapport moet worden overschreven als deze al bestaat.

    standaardwaarde: onwaar. (optioneel kenmerk)

  • write-summary-report-to: Hiermee geeft u het pad op waar het overzichtsrapport wordt gegenereerd.

    Als alleen het pad naar de map wordt vermeld, wordt bestand op naam SchemaConversionReport<n>.xml gemaakt. (optioneel kenmerk)

    Het maken van een overzichtsrapport heeft twee andere subcategorieën:

    • report-errors (="true/false", met de standaardwaarde 'false' (optionele kenmerken))
    • verbose (="true/false", met de standaardwaarde 'false' (optionele kenmerken))

Voorbeeld van syntaxis

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

Of:

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

migrate-data opdracht

Hiermee worden de brongegevens naar het doel gemigreerd.

Script

  • object-name: Hiermee geeft u de bronobjecten op die worden overwogen voor het migreren van gegevens (het kan afzonderlijke objectnamen of een groepsobjectnaam hebben).

  • object-type: geeft het type van het object op dat is opgegeven in het kenmerk objectnaam (als objectcategorie is opgegeven, is het objecttype 'categorie').

  • write-summary-report-to: Hiermee geeft u het pad op waar het overzichtsrapport wordt gegenereerd.

    Als alleen het pad naar de map wordt vermeld, wordt bestand op naam DataMigrationReport<n>.xml gemaakt. (optioneel kenmerk)

    Het maken van rapporten heeft twee andere subcategorieën:

    • report-errors (="true/false", met de standaardwaarde 'false' (optionele kenmerken))
    • verbose (="true/false", met de standaardwaarde 'false' (optionele kenmerken))

Voorbeeld van syntaxis

<migrate-data
   write-summary-report-to="<file-name/folder-name>"
   report-errors="true" verbose="true">
      <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>

Of:

<migrate-data
   object-name="<object-name>"
   object-type="<object-category>"
   write-summary-report-to="<file-name/folder-name>"
   report-errors="true" verbose="true"/>

Opdracht voor voorbereiding van het migratiescriptbestand

Met de opdracht Migratievoorbereiding wordt schematoewijzing tussen de bron- en doeldatabases gestart.

map-schema opdracht

Schematoewijzing van de brondatabase naar het doelschema.

Script

  • source-schema geeft het bronschema op dat we willen migreren.
  • sql-server-schema geeft het doelschema op waar het moet worden gemigreerd.

Voorbeeld van syntaxis

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

Opdrachten voor beheerbaarheid van scriptbestanden

Met de opdrachten Beheerbaarheid kunt u de doeldatabaseobjecten synchroniseren met de brondatabase.

De standaardinstelling voor console-uitvoer voor de migratieopdrachten is het uitvoerrapport 'Volledig' zonder gedetailleerde foutrapportage: alleen samenvatting op het hoofdknooppunt van de bronobjectstructuur.

synchronize-target opdracht

Synchroniseert de doelobjecten met de doeldatabase.

Als deze opdracht wordt uitgevoerd voor de brondatabase, wordt er een fout opgetreden.

Als de doeldatabaseverbinding niet wordt uitgevoerd voordat deze opdracht wordt uitgevoerd, of als de verbinding met de doeldatabaseserver mislukt tijdens de uitvoering van de opdracht, wordt er een fout gegenereerd en wordt de consoletoepassing afgesloten.

Script

  • object-name: Hiermee geeft u de objecten op die worden overwogen voor synchronisatie met de doeldatabase (het kan afzonderlijke objectnamen of een groepsobjectnaam hebben).

  • object-type: geeft het type van het object op dat is opgegeven in het kenmerk objectnaam (als objectcategorie is opgegeven, is het objecttype 'categorie').

  • on-error: Hiermee geeft u op of synchronisatiefouten moeten worden opgegeven als waarschuwingen of fouten. Beschikbare opties voor bij fouten:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Hiermee geeft u de locatie van het foutenrapport voor de synchronisatiebewerking (optioneel kenmerk)

    Als alleen het pad naar de map wordt opgegeven, wordt er een bestand met de naam gemaakt TargetSynchronizationReport.xml .

Voorbeeld van syntaxis

<synchronize-target
   object-name="<object-name>"
   on-error="<report-total-as-warning/
               report-each-as-warning/
               fail-script>"   (optional)
   report-errors-to="<file-name>"   (optional)
/>

Of:

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

Of:

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

Hiermee vernieuwt u de bronobjecten uit de database.

Als deze opdracht wordt uitgevoerd voor de doeldatabase, wordt er een fout gegenereerd.

Script

  • object-name: Hiermee geeft u de bronobjecten op die worden overwogen voor het vernieuwen van de brondatabase (het kan afzonderlijke objectnamen of een groepsobjectnaam hebben).

  • object-type: Hiermee geeft u het type van het object op dat is opgegeven in het kenmerk objectnaam (als objectcategorie is opgegeven, is het objecttype 'categorie').

  • on-error: Hiermee geeft u op of synchronisatiefouten moeten worden opgegeven als waarschuwingen of fouten. Beschikbare opties voor bij fouten:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Hiermee geeft u de locatie van het foutenrapport voor de synchronisatiebewerking (optioneel kenmerk)

    Als alleen het pad naar de map wordt opgegeven, wordt er een bestand met de naam gemaakt SourceDBRefreshReport.xml .

Vereist een of meerdere metabase-knooppunten als opdrachtregelparameter.

Voorbeeld van syntaxis

<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>"   (optional)
/>

Of:

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

Of:

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

Scriptgeneratie scriptbestandopdrachten

De opdrachten voor het genereren van scripts voeren dubbele taken uit: ze helpen de console-uitvoer op te slaan in een scriptbestand; en noteer de T-SQL-uitvoer naar de console of een bestand op basis van de parameter die u opgeeft.

save-as-script opdracht

Wordt gebruikt om de scripts van de objecten op te slaan in een bestand dat wordt gespecificeerd bij metabase=target. Dit is een alternatief voor de synchronisatieopdracht, waarin we de scripts ophalen en hetzelfde uitvoeren op de doeldatabase.

Script

Vereist een of meerdere metabase-knooppunten als opdrachtregelparameter.

  • object-name: Hiermee geeft u de objecten waarvan de scripts moeten worden opgeslagen. (Het kan afzonderlijke objectnamen of een groepsobjectnaam hebben)

  • object-type: geeft het type van het object op dat is opgegeven in het kenmerk objectnaam (als objectcategorie is opgegeven, is het objecttype 'categorie').

  • metabase: Hiermee geeft u op of het de bron- of doel-metabase is.

  • destination: Hiermee geeft u het pad of de map aan waarin het script moet worden opgeslagen. Als de bestandsnaam niet wordt opgegeven, wordt een bestandsnaam gegenereerd volgens het formaat (object_name kenmerkwaarde).out

  • overwrite: indien waar, wordt deze overschreven als dezelfde bestandsnaam bestaat. Het kan de waarden (waar/onwaar) hebben.

Voorbeeld van syntaxis

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

Of:

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

  • context geeft de schemanaam op.

  • destination geeft aan of de uitvoer moet worden opgeslagen in een bestand.

    Als dit kenmerk niet is opgegeven, wordt de geconverteerde T-SQL-instructie weergegeven op de console. (optioneel kenmerk)

  • conversion-report-folder geeft de map op waarin het evaluatierapport wordt opgeslagen. (optioneel kenmerk)

  • conversion-report-overwrite geeft aan of de map evaluatierapport moet worden overschreven als deze al bestaat.

    standaardwaarde: onwaar. (optioneel kenmerk)

  • write-converted-sql-to geeft het bestandspad (of) op waar de geconverteerde T-SQL moet worden opgeslagen. Wanneer een mappad wordt opgegeven samen met het kenmerk sql-files, heeft elk bronbestand een overeenkomend T-SQL-doelbestand dat is gemaakt onder de opgegeven map. Wanneer een mappad samen met het sql kenmerk wordt opgegeven, wordt de geconverteerde T-SQL geschreven naar een bestand met de naam Result.out onder de opgegeven map.

  • sql geeft aan dat de MySQL SQL-instructies moeten worden geconverteerd, een of meer instructies kunnen worden gescheiden met behulp van een ';'

  • sql-files hiermee geeft u het pad op van de SQL-bestanden die moeten worden geconverteerd naar T-SQL-code.

  • write-summary-report-to hiermee geeft u het pad op waar het overzichtsrapport wordt gegenereerd. Als alleen het pad naar de map wordt vermeld, wordt bestand op naam ConvertSQLReport.xml gemaakt. (optioneel kenmerk)

    Het maken van rapporten heeft twee andere subcategorieën:

    • report-errors (="true/false", met de standaardwaarde 'false' (optionele kenmerken)).
    • verbose (="true/false", met de standaardwaarde 'false' (optionele kenmerken)).

Script

Vereist een of meerdere metabase-knooppunten als opdrachtregelparameter.

Voorbeeld van syntaxis

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

Of:

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

Of:

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