Udostępnij przez


Wykonywanie konsoli SSMA (OracleToSQL)

Firma Microsoft udostępnia niezawodny zestaw poleceń pliku skryptu do wykonywania i kontrolowania działań SSMA. 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.

create-new-project polecenie

Tworzy nowy projekt SSMA.

Skrypt

  • project-folder: wskazuje folder tworzonego projektu.

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

  • overwrite-if-exists: opcjonalny atrybut. Wskazuje, czy istniejący projekt powinien zostać zastąpiony. {wartość logiczna}

  • project-type: opcjonalny atrybut. Wskazuje typ projektu, czyli sql-server-2016, , sql-server-2017sql-server-2019, , sql-server-2022, sql-server-2025lub sql-azure. Wartość domyślna to sql-server-2016.

Przykładowa składnia

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

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

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

open-project polecenie

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ładowa składnia

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

Program SSMA for Oracle Console Application obsługuje zgodność z poprzednimi wersjami. Będzie można otwierać projekty utworzone przez poprzednią wersję programu SSMA.

save-project polecenie

Zapisuje projekt migracji.

Przykładowa składnia

<save-project/>

close-project polecenie

Zamyka projekt migracji.

Przykładowa składnia

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

Funkcja interfejsu użytkownika Przeglądaj nie jest obsługiwana w konsoli.

Aby uzyskać więcej informacji, zobacz Tworzenie plików skryptów.

connect-source-database polecenie

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ładowa składnia

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

force-load-source/target-database polecenie

Ł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ładowa składnia

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

Lub:

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

reconnect-source-database polecenie

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ładowa składnia

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

connect-target-database polecenie

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ładowa składnia

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

reconnect-target-database polecenie

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ładowa składnia

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

generate-assessment-report polecenie

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 na potrzeby 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ę obiektu, typ obiektu to "kategoria").

  • 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/false", z wartością domyślną "false" (atrybuty opcjonalne))

    • verbose (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))

Przykładowa składnia

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

convert-schema polecenie

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 i aplikacja konsolowa zakończy działanie.

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 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ę obiektu, typ obiektu to "kategoria").

  • 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/false", z wartością domyślną "false" (atrybuty opcjonalne))

    • verbose (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))

Przykładowa składnia

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

migrate-data polecenie

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ę obiektu, typ obiektu to "kategoria").

  • 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/false", z wartością domyślną "false" (atrybuty opcjonalne))

    • verbose (="true/false", z wartością domyślną "false" (atrybuty opcjonalne))

Przykładowa składnia

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

map-schema polecenie

Mapowanie schematu źródłowej bazy danych na schemat docelowy.

Migruje dane źródłowe do obiektu docelowego.

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ładowa składnia

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

synchronize-target polecenie

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 synchronizacji 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ę obiektu, typ obiektu to "kategoria").

  • 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 zostanie podana tylko ścieżka folderu, zostanie utworzony plik o nazwie TargetSynchronizationReport.xml .

Przykładowa składnia

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

refresh-from-database polecenie

  • 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 object-name (jeśli określono kategorię obiektu, typ obiektu to "kategoria").

  • 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 synchronizacji (opcjonalny atrybut)

    Jeśli zostanie podana tylko ścieżka folderu, zostanie utworzony plik o nazwie SourceDBRefreshReport.xml .

Przykładowa składnia

<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 generowania plików skryptów

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.

save-as-script polecenie

Służy do zapisywania skryptów obiektów do pliku wymienionego podczas metabase=target. Jest to alternatywa dla polecenia synchronizacji, w którym otrzymujemy skrypty i wykonujemy to samo w docelowej bazie danych.

Skrypt

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

  • object-name: określa obiekty, których skrypty mają zostać zapisane. (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ę obiektu, typ obiektu to "kategoria").

  • 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 została podana, zostanie użyta nazwa pliku w formacie (nazwa_obiektu wartość atrybutu).out

  • overwrite: Jeśli wartość to true, wtedy plik o tej samej nazwie zostanie zastąpiony. Może mieć wartości (prawda/fałsz).

Przykładowa składnia

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

convert-sql-statement polecenie

  • 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 Sql Oracle, które mają być konwertowane, co najmniej jedna instrukcja może być oddzielona przy użyciu ";"

  • sql-files określa ścieżkę plików SQL, które muszą zostać przekonwertowane 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/false", z wartością domyślną "false" (atrybuty opcjonalne)).
    • verbose (="true/false", z wartością domyślną "false" (atrybuty opcjonalne)).

Skrypt

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

Przykładowa składnia

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