Udostępnij za pośrednictwem


Uruchom konsolę SSMA (Db2ToSQL)

Firma Microsoft udostępnia niezawodny zestaw poleceń pliku skryptu do wykonywania i kontrolowania działań programu SQL Server Migration Assistant (SSMA). W poniższych sekcjach szczegółowo opisano to samo. Aplikacja konsolowa używa pewnych standardowych poleceń pliku skryptu, które są wyliczane w tej sekcji.

Polecenia pliku skryptu projektu

Polecenia programu Project obsługują tworzenie projektów, otwieranie, zapisywanie i kończenie projektów.

polecenie

create-new-project: tworzy nowy projekt SSMA.

skrypt

  • project-folder wskazuje folder tworzonego projektu.

  • project-name wskazuje nazwę projektu. {string}

  • overwrite-if-existsOpcjonalny atrybut wskazuje, czy istniejący projekt powinien zostać zastąpiony. {wartość logiczna}

  • project-type:opcjonalny atrybut. Wskazuje typ projektu. Na przykład sql-server-2019 lub sql-azure. Wartość domyślna to sql-server-2016.

Przykład:

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

Atrybut overwrite-if-exists jest domyślnie false.

Atrybut project-type jest domyślnie sql-server-2016.

poleceń

open-project: otwiera istniejący projekt.

skrypt

  • project-folder wskazuje folder tworzonego projektu. Polecenie kończy się niepowodzeniem, jeśli określony folder nie istnieje. {string}

  • project-name wskazuje nazwę projektu. Polecenie kończy się niepowodzeniem, jeśli określony projekt nie istnieje. {string}

przykład składni :

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

Aplikacja konsolowa SSMA dla Db2 obsługuje kompatybilność wsteczną. Możesz otwierać projekty utworzone przez poprzednią wersję programu SSMA.

polecenie

save-project: zapisuje projekt migracji.

przykład składni :

<save-project/>

polecenie

close-project: zamyka projekt migracji.

przykład składni:

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

Polecenia pliku skryptu połączenia bazy danych

Polecenia połączenia z bazą danych ułatwiają nawiązywanie połączenia z bazą danych.

Polecenie

connect-source-database

  • Wykonuje połączenie ze źródłową bazą danych i ładuje metadane wysokiego poziomu źródłowej bazy danych, ale nie wszystkie metadane.

  • Jeśli nie można ustanowić połączenia ze źródłem, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje

skrypt

Definicję serwera pobiera się z atrybutu 'name' zdefiniowanego dla każdego połączenia w sekcji serwera w pliku połączenia serwera lub w pliku skryptu.

przykład składni:

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

Polecenie

force-load-source-database/force-load-target-database

  • Ładuje metadane źródłowe.

  • Przydatne do pracy nad projektem migracji w trybie offline.

  • Jeśli nie można ustanowić połączenia ze źródłem/obiektem docelowym, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje

skrypt

Wymaga jednego lub kilku węzłów metabazy jako parametru wiersza polecenia.

Przykład składni:

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

Lub

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

polecenie

reconnect-source-database

  • Ponownie nawiązuje połączenie ze źródłową bazą danych, ale nie ładuje żadnych metadanych w przeciwieństwie do polecenia connect-source-database.

  • Jeśli nie można ustanowić połączenia lub ponownego połączenia ze źródłem, zostanie wygenerowany błąd, a aplikacja konsolowa zatrzyma dalsze działanie.

Przykład składni:

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

poleceń

connect-target-database

  • Nawiązuje połączenie z docelową bazą danych SQL Server i ładuje metadane wysokiego poziomu docelowej bazy danych, ale nie w całości.

  • Jeśli nie można ustanowić połączenia z obiektem docelowym, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje.

skrypt

Definicja serwera jest pobierana z atrybutu nazwa dla każdego połączenia w sekcji serwera w pliku połączenia serwera lub w pliku skryptu.

przykład składni:

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

polecenie

reconnect-target-database

  • Ponownie nawiązuje połączenie z docelową bazą danych, ale nie ładuje żadnych metadanych, w przeciwieństwie do polecenia connect-target-database.

  • Jeśli (re)połączenie z obiektem docelowym nie może zostać nawiązane, zostanie wygenerowany błąd, a aplikacja konsolowa przestanie wykonywać dalsze operacje.

przykład składni:

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

Polecenia pliku skryptu raportu

Polecenia Raport generują raporty dotyczące wydajności różnych działań konsoli SSMA.

Polecenie

generate-assessment-report

  • Generuje raporty oceny w źródłowej bazie danych.

  • Jeśli połączenie źródłowej bazy danych nie zostanie wykonane przed wykonaniem tego polecenia, zostanie wygenerowany błąd i aplikacja konsolowa zakończy działanie.

  • Niepowodzenie nawiązywania połączenia z źródłowym serwerem bazy danych podczas wykonywania polecenia powoduje również zakończenie aplikacji konsolowej.

skrypt

  • conversion-report-folder: Określa folder, w którym można przechowywać raport oceny. (opcjonalny atrybut)

  • object-name: Określa obiekty rozważane do generowania raportu oceny (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektów, typ obiektu jest category).

  • conversion-report-overwrite: Określa, czy zastąpić folder raportu oceny, jeśli już istnieje.

    wartość domyślna: false. (opcjonalny atrybut)

  • write-summary-report-to: Określa ścieżkę, w której jest generowany raport podsumowania.

    Jeśli zostanie wymieniona tylko ścieżka folderu, zostanie utworzony plik według nazwy AssessmentReport<n>.XML. (opcjonalny atrybut)

    Tworzenie raportu ma dwie kolejne podkategorie:

    • report-errors true lub falsez wartością domyślną false (atrybuty opcjonalne)
    • verbose true lub falsez wartością domyślną false (atrybuty opcjonalne)

Przykład składni:

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

Lub

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

Polecenia w pliku skryptu migracji

Polecenia migracji konwertują docelowy schemat bazy danych na schemat źródłowy i migrują dane na serwer docelowy. Domyślne ustawienie danych wyjściowych konsoli dla poleceń migracji to "Pełny" raport wyjściowy bez szczegółowego raportowania błędów: podsumowanie tylko w węźle głównym drzewa obiektów źródłowych.

Komenda

convert-schema

  • Wykonuje konwersję schematu ze źródła na schemat docelowy.

  • Jeśli połączenie źródłowej lub docelowej bazy danych nie jest wykonywane przed wykonaniem tego polecenia lub połączenie ze źródłowym lub docelowym serwerem bazy danych kończy się niepowodzeniem podczas wykonywania polecenia, zostanie wygenerowany błąd, a aplikacja konsolowa zakończy działanie.

skryptu

  • conversion-report-folder: Określa folder, w którym można przechowywać raport oceny. (opcjonalny atrybut)

  • object-name: Określa obiekty źródłowe rozważane do konwersji schematu (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektów, typ obiektu jest category).

  • conversion-report-overwrite: Określa, czy zastąpić folder raportu oceny, jeśli już istnieje.

    wartość domyślna: false. (opcjonalny atrybut)

  • write-summary-report-to: Określa ścieżkę, w której jest generowany raport podsumowania.

    Jeśli zostanie wymieniona tylko ścieżka folderu, zostanie utworzony plik według nazwy SchemaConversionReport<n>.XML. (opcjonalny atrybut)

    Tworzenie raportu ma dwie kolejne podkategorie:

    • report-errors true lub falsez wartością domyślną false (atrybuty opcjonalne)

    • verbose true lub falsez wartością domyślną false (atrybuty opcjonalne)

Przykład składni:

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

Lub

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

poleceń

migrate-data: migruje dane źródłowe do obiektu docelowego.

skrypt

  • conversion-report-folder: Określa folder, w którym można przechowywać raport oceny. (opcjonalny atrybut)

  • object-name: Określa obiekty źródłowe rozważane do migrowania danych (mogą mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektów, typ obiektu jest category).

  • conversion-report-overwrite: Określa, czy zastąpić folder raportu oceny, jeśli już istnieje.

    wartość domyślna: false. (opcjonalny atrybut)

  • write-summary-report-to: Określa ścieżkę, w której jest generowany raport podsumowania.

    Jeśli zostanie wymieniona tylko ścieżka folderu, zostanie utworzony plik według nazwy DataMigrationReport<n>.xml. (opcjonalny atrybut)

    Tworzenie raportu ma dwie kolejne podkategorie:

    • report-errors true lub falsez wartością domyślną false (atrybuty opcjonalne)
    • verbose true lub falsez wartością domyślną false (atrybuty opcjonalne)

Przykład składni:

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

Lub

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

Polecenia pliku skryptu przygotowania migracji

Polecenie Przygotowanie migracji inicjuje mapowanie schematu między źródłowymi i docelowymi bazami danych.

polecenie

  • map-schema: mapowanie schematu źródłowej bazy danych na schemat docelowy.

skrypt

  • source-schema: określa schemat źródłowy, który zamierzamy migrować.
  • sql-server-schema: określa schemat docelowy, w którym ma zostać zmigrowany.

przykład składni :

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

poleceń

map-schema: mapowanie schematu źródłowej bazy danych na schemat docelowy.

skrypt

source-schema określa schemat źródłowy, który zamierzamy migrować.

sql-server-schema określa schemat docelowy, w którym ma zostać zmigrowany.

Przykład składni:

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

Polecenia skryptu zarządzania plikami

Polecenia zarządzania ułatwiają synchronizowanie obiektów docelowej bazy danych ze źródłową bazą danych.

Domyślne ustawienie danych wyjściowych konsoli dla poleceń migracji to "Pełny" raport wyjściowy bez szczegółowego raportowania błędów: podsumowanie tylko w węźle głównym drzewa obiektów źródłowych.

Polecenie

synchronize-target

  • Synchronizuje obiekty docelowe z docelową bazą danych.

  • Jeśli to polecenie jest wykonywane względem źródłowej bazy danych, wystąpi błąd.

  • Jeśli docelowe połączenie z bazą danych nie jest wykonywane przed wykonaniem tego polecenia lub połączenie z docelowym serwerem bazy danych zakończy się niepowodzeniem podczas wykonywania polecenia, zostanie wygenerowany błąd i aplikacja konsolowa zakończy działanie.

skrypt

  • object-name: Określa obiekty docelowe rozważane do synchronizowania z docelową bazą danych (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektów, typ obiektu jest category).

  • on-error: Określa, czy należy określić błędy synchronizacji jako ostrzeżenia lub błąd. Dostępne opcje w przypadku błędu:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Określa lokalizację raportu o błędach dla operacji synchronizacji (opcjonalny atrybut)

    Jeśli podano tylko ścieżkę folderu, zostanie utworzony plik według nazwy TargetSynchronizationReport.xml.

Przykład składniowy :

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

Lub

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

Lub

<synchronize-target>
   <metabase-object object-name="<object-name>"/>
   <metabase-object object-name="<object-name>"/>
   <metabase-object object-name="<object-name>"/>
</synchronize-target>

polecenie

refresh-from-database

  • Odświeża obiekty źródłowe z bazy danych.

  • Jeśli to polecenie jest wykonywane względem docelowej bazy danych, zostanie wygenerowany błąd.

skrypt

Wymaga jednego lub kilku węzłów metabazy jako parametru wiersza polecenia.

  • object-name: Określa obiekty źródłowe rozważane do odświeżania z źródłowej bazy danych (może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy).

  • object-type: Określa typ obiektu określonego w atrybucie nazwa-obiektu (jeśli określono kategorię obiektu, typ obiektu jest category).

  • on-error: Określa, czy należy określić błędy odświeżania jako ostrzeżenia lub błąd. Dostępne opcje w przypadku błędu:

    • report-total-as-warning
    • report-each-as-warning
    • fail-script
  • report-errors-to: Określa lokalizację raportu o błędach dla operacji odświeżania (opcjonalny atrybut), jeśli podano tylko ścieżkę folderu, a następnie plik według nazwy SourceDBRefreshReport.xml jest tworzony.

Przykład składni:

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

Lub

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

Lub

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

Polecenia pliku do generowania skryptu

Polecenia generowania skryptów wykonują zadania podwójne: które pomagają zapisywać dane wyjściowe konsoli w pliku skryptu, oraz zapisują dane wyjściowe języka T-SQL w konsoli lub w pliku według określonego parametru.

polecenie

save-as-script: zapisz skrypty obiektów w pliku wymienionym podczas metabase=target. Jest to alternatywa dla polecenia synchronizacji, w którym pobieramy skrypty i wykonujemy to samo w docelowej bazie danych.

Skrypt

Wymaga jednego lub więcej węzłów metabazy jako parametru wiersza polecenia.

  • object-name: Określa obiekty, których skrypty mają być zapisywane. (Może mieć nazwy poszczególnych obiektów lub nazwę obiektu grupy)

  • object-type: określa typ obiektu określonego w atrybucie object-name (jeśli określono kategorię obiektów, typ obiektu jest category).

  • metabase: Określa, czy jest to metabaza źródłowa, czy docelowa.

  • destination: Określa ścieżkę lub folder, w którym należy zapisać skrypt, jeśli nazwa pliku nie jest podana, nazwa pliku w formacie (object_name wartość atrybutu).out

  • overwrite: jeśli true to nadpisuje istniejący plik o tej samej nazwie. Może mieć wartości (prawda/fałsz).

przykład składni :

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

Lub

<save-as-script
   metabase="<source/target>"
   destination="<file/folder>"
      <metabase-object object-name="<object-name>"
         object-type="<object-category>"/>
</save-as-script>

poleceń

convert-sql-statement

  • context określa nazwę schematu.

  • destination określa, czy dane wyjściowe powinny być przechowywane w pliku.

    Jeśli ten atrybut nie zostanie określony, w konsoli zostanie wyświetlona przekonwertowana instrukcja T-SQL. (opcjonalny atrybut)

  • conversion-report-folder określa folder, w którym można przechowywać raport oceny. (opcjonalny atrybut)

  • conversion-report-overwrite określa, czy zastąpić folder raportu oceny, jeśli już istnieje.

    wartość domyślna: false. (opcjonalny atrybut)

  • write-converted-sql-to określa ścieżkę pliku (lub) folderu, w którym ma być przechowywany przekonwertowany język T-SQL. Po określeniu ścieżki folderu wraz z atrybutem sql-files każdy plik źródłowy ma odpowiedni docelowy plik T-SQL utworzony w określonym folderze. Po określeniu ścieżki folderu wraz z atrybutem sql przekonwertowany język T-SQL jest zapisywany w pliku o nazwie Result.out w określonym folderze.

  • sql określa instrukcje DB2 SQL do przekonwertowania, co najmniej jedna instrukcja może być oddzielona za pomocą ";"

  • sql-files określa ścieżkę plików SQL, które należy przekonwertować na kod T-SQL.

  • write-summary-report-to określa ścieżkę, w której jest generowany raport. Jeśli zostanie wymieniona tylko ścieżka folderu, zostanie utworzony plik według nazwy ConvertSQLReport.xml. (opcjonalny atrybut)

    Tworzenie raportu ma dwie kolejne podkategorie:

    • report-errors: true lub falsez wartością domyślną false (atrybuty opcjonalne)
    • verbose: true lub falsez wartością domyślną false (atrybuty opcjonalne)

skrypt

Wymaga jednego lub kilku węzłów metabazy jako parametru wiersza polecenia.

przykład składni :

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

Lub

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

Lub

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