Dela via


Att köra SSMA-konsolen (SybaseToSQL)

Microsoft tillhandahåller en robust uppsättning skriptfilkommandon för att köra och kontrollera SQL Server Migration Assistant-aktiviteter (SSMA). De efterföljande avsnitten beskriver samma sak.

Skriptfilkommandon

Konsolprogrammet använder vissa standardskriptfilkommandon som uppräknade i det här avsnittet.

Projektkommandon

Project-kommandona hanterar att skapa projekt, öppna, spara och avsluta projekt.

create-new-project kommando`

Det här kommandot skapar ett nytt SSMA-projekt.

  • project-folder anger mappen för projektet som skapas.

  • project-name anger namnet på projektet. {string}

  • overwrite-if-exists Valfritt attribut anger om ett befintligt projekt ska skrivas över. {booleskt}

  • project-type: Valfritt attribut. Anger projekttypen, dvs. sql-server-2016, sql-server-2017, sql-server-2019, sql-server-2022, sql-server-2025, eller sql-azure. Standardvärdet är sql-server-2016.

Syntaxexempel

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

Attributet overwrite-if-exists är false som standard.

Attributet project-type är sql-server-2016 som standard.

open-project kommando`

Det här kommandot öppnar projektet.

  • project-folder anger mappen för projektet som skapas. Kommandot misslyckas om den angivna mappen inte finns. {string}

  • project-name anger namnet på projektet. Kommandot misslyckas om det angivna projektet inte finns. {string}

Syntaxexempel

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

Anmärkning

SSMA för SAP ASE-konsolprogrammet stöder bakåtkompatibilitet. Du kan använda den för att öppna projekt som skapats av tidigare version av SSMA.

save-project kommando`

Det här kommandot sparar migreringsprojektet.

Syntaxexempel

<save-project/>

close-project kommando`

Det här kommandot stänger migreringsprojektet.

Syntaxexempel

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

Attributet if-modified är valfritt och har ignore som standard.

Kommandon för databasanslutning

Databasanslutningskommandona hjälper dig att ansluta till databasen.

Funktionen Bläddra i användargränssnittet stöds inte i konsolen.

Mer information finns i Skapa skriptfiler.

connect-source-database kommando`

Det här kommandot utför anslutning till källdatabasen och läser in metadata på hög nivå för källdatabasen, men inte alla metadata.

Om anslutningen till källan inte kan upprättas genereras ett fel och konsolprogrammet stoppar ytterligare körning.

Serverdefinitionen hämtas från det namnattribut som definierats för varje anslutning i serveravsnittet i serveranslutningsfilen eller skriptfilen.

Syntaxexempel

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

force-load-source/target-database kommando`

Det här kommandot läser in källmetadata och är användbart för att arbeta med migreringsprojekt offline.

Om anslutningen till källan/målet inte kan upprättas genereras ett fel och konsolprogrammet stoppar ytterligare körning.

Det här kommandot kräver en eller flera metabasnoder som kommandoradsparameter.

Syntaxexempel

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

reconnect-source-database kommando`

Det här kommandot återansluter till källdatabasen men läser inte in några metadata till skillnad från kommandot connect-source-database.

Om (åter)anslutningen till källan inte kan upprättas genereras ett fel och konsolprogrammet stoppar ytterligare körning.

Syntaxexempel

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

connect-target-database kommando`

Det här kommandot ansluter till SQL Server-måldatabasen och läser in metadata på hög nivå för måldatabasen, men inte metadata helt och hållet.

Om anslutningen till målet inte kan upprättas genereras ett fel och konsolprogrammet stoppar ytterligare körning.

Serverdefinitionen hämtas från det namnattribut som definierats för varje anslutning, i serveravsnittet i serveranslutningsfilen eller skriptfilen.

Syntaxexempel

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

reconnect-target-database kommando`

Det här kommandot återansluter till måldatabasen men läser inte in några metadata, till skillnad från kommandot connect-target-database.

Om (åter)anslutningen till målet inte kan upprättas genereras ett fel och konsolprogrammet stoppar ytterligare körning.

Syntaxexempel

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

Rapportkommandon

Rapportkommandona genererar rapporter om prestanda för olika SSMA-konsolaktiviteter.

generate-assessment-report kommando`

Det här kommandot genererar utvärderingsrapporter i källdatabasen.

Om källdatabasanslutningen inte utförs innan kommandot körs genereras ett fel och konsolprogrammet avslutas.

Det gick inte att ansluta till källdatabasservern under kommandokörningen, vilket också resulterar i att konsolprogrammet avslutas.

  • conversion-report-folder: Anger mappen där utvärderingsrapporten kan lagras. (valfritt attribut)

  • object-name: Anger de objekt som beaktas för utvärderingsrapportgenerering (stöder enskilda objektnamn eller ett gruppobjektnamn).

  • object-type: Anger typen av objektet som anges i attributet object-name (om objektkategori anges är objekttypen "kategori").

  • conversion-report-overwrite: Anger om utvärderingsrapportmappen ska skrivas över om den redan finns.

    Standardvärde: false. (valfritt attribut)

  • write-summary-report-to: Anger sökvägen där rapporten genereras.

    Om endast mappsökvägen nämns, skapas en fil med namnet AssessmentReport<n>.xml. (valfritt attribut)

    Det finns ytterligare två underkategorier för rapportskapande.

    • report-errors (="true/false", med standardvärdet "false" (valfria attribut))

    • verbose (="true/false", med standardvärdet "false" (valfria attribut))

Syntaxexempel

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

Eller:

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

Migreringskommandon

Migreringskommandona konverterar måldatabasschemat till källschemat och migrerar data till målservern.

convert-schema kommando`

Det här kommandot utför schemakonvertering från källa till målschema.

Om käll- eller måldatabasanslutningen inte utförs innan kommandot körs, eller om anslutningen till käll- eller måldatabasservern misslyckas under kommandokörningen genereras ett fel och konsolprogrammet avslutas.

  • conversion-report-folder: Anger mappen där utvärderingsrapporten kan lagras. (valfritt attribut)

  • object-name: Anger de källobjekt som ska konvertera schema (stöder enskilda objektnamn eller ett gruppobjektnamn).

  • object-type: Anger typen av objektet som anges i attributet object-name (om objektkategori anges är objekttypen "kategori").

  • conversion-report-overwrite: Anger om utvärderingsrapportmappen ska skrivas över om den redan finns.

    Standardvärde: false. (valfritt attribut)

  • write-summary-report-to: Anger den sökväg där sammanfattningsrapporten genereras.

    Om endast mappsökvägen nämns, skapas en fil med namnet SchemaConversionReport<n>.xml. (valfritt attribut)

    Det finns ytterligare två underkategorier för rapportskapande.

    • report-errors (="true/false", med standardvärdet "false" (valfria attribut))

    • verbose (="true/false", med standardvärdet "false" (valfria attribut))

Syntaxexempel

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

Eller:

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

Det här kommandot migrerar källdata till målet.

  • object-name: Anger källobjekten som ska migrera data (stöder enskilda objektnamn eller ett gruppobjektnamn).

  • object-type: anger typen av objektet som anges i attributet object-name (om objektkategori anges är objekttypen "kategori").

  • write-summary-report-to: Anger sökvägen där rapporten genereras.

    Om endast mappsökvägen nämns, skapas en fil med namnet DataMigrationReport<n>.xml. (valfritt attribut)

    Det finns ytterligare två underkategorier för rapportskapande.

    • report-errors (="true/false", med standardvärdet "false" (valfria attribut))

    • verbose (="true/false", med standardvärdet "false" (valfria attribut))

Syntaxexempel

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

Eller:

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

Migreringsförberedelsekommando

Kommandot Förberedelse av migrering initierar schemamappning mellan käll- och måldatabaserna.

Anmärkning

Standardkonsolens utdatainställning för migreringskommandona är "Fullständig" utdatarapport utan detaljerad felrapportering: Endast sammanfattning vid rotnoden för källobjektträdet.

map-schema kommando`

Det här kommandot tillhandahåller schemamappning av källdatabasen till målschemat.

  • source-schema Anger källschemat som ska migreras.

  • sql-server-schema Anger det målschema som källschemat migreras till.

Syntaxexempel

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

Hanterbarhetskommandon

Med kommandona Hanterbarhet kan du synkronisera måldatabasobjekten med källdatabasen.

Anmärkning

Standardkonsolens utdatainställning för migreringskommandona är "Fullständig" utdatarapport utan detaljerad felrapportering: Endast sammanfattning vid rotnoden för källobjektträdet.

synchronize-target kommando`

Det här kommandot synkroniserar målobjekten med måldatabasen.

Om det här kommandot körs mot källdatabasen påträffas ett fel.

Om måldatabasanslutningen inte utförs innan kommandot körs eller om anslutningen till måldatabasservern misslyckas under kommandokörningen genereras ett fel och konsolprogrammet avslutas.

  • object-name: Anger vilka målobjekt som ska synkroniseras med måldatabasen (stöder enskilda objektnamn eller ett gruppobjektnamn).

  • object-type: Anger typen av objektet som framhävs i attributet object-name (om objektkategori anges är objekttypen "kategori").

  • on-error: Anger om synkroniseringsfel ska anges som varningar eller fel. Tillgängliga alternativ för on-error:

    • report-total-as-warning

    • report-each-as-warning

    • fail-script

  • report-errors-to: Anger platsen för felrapporten för synkroniseringsåtgärden (valfritt attribut)

    Om endast mappsökvägen anges skapas en fil med namnet på TargetSynchronizationReport.xml .

Syntaxexempel

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

Eller:

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

Eller:

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

Det här kommandot uppdaterar källobjekten från databasen.

Om det här kommandot körs mot måldatabasen genereras ett fel.

Det här kommandot kräver en eller flera metabasnoder som kommandoradsparameter.

  • object-name: Anger de källobjekt som ska uppdateras från källdatabasen (stöder enskilda objektnamn eller ett gruppobjektnamn).

  • object-type: Anger typen av objekt som anges i attributet object-name (om objektkategori anges är objekttypen "kategori").

  • on-error: Anger om uppdateringsfel ska anropas som varningar eller fel. Tillgängliga alternativ för on-error:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Anger platsen för felrapporten för synkroniseringsåtgärden (valfritt attribut)

    Om endast mappsökvägen anges skapas en fil med namnet på SourceDBRefreshReport.xml .

Syntaxexempel

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

Eller:

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

Eller:

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

Skriptgenereringskommandon

Skriptgenereringskommandona utför dubbla uppgifter: de hjälper till att spara konsolens utdata i en skriptfil, och de registrerar T-SQL-utdata till konsolen eller en fil baserat på den parameter som du anger.

save-as-script kommando`

Används för att spara skripten för objekten i en fil som nämns när metabase=target. Det här är ett alternativ till synkroniseringskommandot, där vi hämtar skripten och kör samma på måldatabasen.

Det här kommandot kräver en eller flera metabasnoder som kommandoradsparameter.

  • object-name: Anger de objekt vars skript ska sparas (stöder enskilda objektnamn eller ett gruppobjektnamn).

  • object-type: Anger typen av objektet som anges i attributet object-name (om objektkategori anges är objekttypen "kategori").

  • metabase: Anger om det är källan eller målmetabasen.

  • destination: Anger sökvägen eller mappen där skriptet måste sparas. Om filnamnet inte anges anges ett filnamn i formatet (object_name attribute value).out .

  • overwrite: Om det är sant skriver det över samma filnamn om det finns. Den kan ha värdena (sant/falskt).

Syntaxexempel

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

Eller:

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

Det här kommandot konverterar SQL-instruktionen.

  • context Anger schemanamnet.

  • destination Anger om utdata ska lagras i en fil.

    Om det här attributet inte har angetts visas den konverterade T-SQL-instruktionen i konsolen. (valfritt attribut)

  • conversion-report-folder Anger mappen där utvärderingsrapporten kan lagras. (valfritt attribut)

  • conversion-report-overwrite Anger om utvärderingsrapportmappen ska skrivas över om den redan finns.

    Standardvärde: false. (valfritt attribut)

  • write-converted-sql-to anger den fil (eller) mappsökväg som den konverterade T-SQL ska lagras i. När en mappsökväg anges tillsammans med attributet sql-files har varje källfil en motsvarande T-SQL-målfil som skapats under den angivna mappen. När en mappsökväg anges tillsammans med attributet skrivs den konverterade T-SQL till en fil med sql namnet Result.out under den angivna mappen.

  • sql anger de Sybase sql-uttryck som ska konverteras, kan en eller flera instruktioner avgränsas med hjälp av ett ";"

  • sql-files anger sökvägen till de SQL-filer som måste konverteras till T-SQL-kod.

  • write-summary-report-to anger sökvägen där sammanfattningsrapporten genereras. Om endast mappsökvägen nämns, skapas en fil med namnet ConvertSQLReport.xml. (valfritt attribut)

    Sammanfattningsrapportskapande har ytterligare två underkategorier, nämligen:

    • report-errors (="true/false", med standardvärdet "false" (valfria attribut)).

    • verbose (="true/false", med standardvärdet "false" (valfria attribut)).

Det här kommandot kräver en eller flera metabasnoder som kommandoradsparameter.

Syntaxexempel

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

Eller:

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

Eller:

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