Udostępnij za pośrednictwem


Tworzenie plików skryptów (Db2ToSQL)

Przed uruchomieniem aplikacji konsolowej programu SQL Server Migration Assistant (SSMA) należy utworzyć plik skryptu. W razie potrzeby można również utworzyć plik wartości zmiennej i plik połączenia serwera.

Plik skryptu można podzielić na trzy sekcje:

Sekcja Opis
config Ustaw parametry konfiguracji dla aplikacji konsolowej.
servers Ustaw definicje serwera źródłowego/docelowego. Może również znajdować się w osobnym pliku połączenia serwera.
script-commands Wykonaj polecenia przepływu pracy SSMA.

Każda sekcja została szczegółowo opisana w tym artykule.

Konfigurowanie ustawień aplikacji konsolowej SSMA

Konfiguracje skryptu są wyświetlane w pliku skryptu konsoli.

Jeśli którykolwiek z elementów jest określony w węźle konfiguracji, są one ustawiane jako ustawienie globalne. Innymi słowy, mają zastosowanie do wszystkich poleceń skryptu. Te elementy konfiguracji można również ustawić w ramach każdego polecenia w sekcji script-command, jeśli chcesz zastąpić ustawienie globalne.

Opcje konfigurowalne dla użytkownika obejmują:

  1. dostawca okna wyjściowego: jeśli atrybut suppress-messages jest ustawiony na true, komunikaty specyficzne dla polecenia nie są wyświetlane w konsoli.

    Atrybut Opis
    destination Określa, czy dane wyjściowe muszą być drukowane w pliku lub stdout. false domyślnie.
    file-name (opcjonalnie) Ścieżka pliku.
    suppress-messages Pomija komunikaty na konsoli. false domyślnie.

    Przykład :

    <output-providers>
      <output-window
        suppress-messages="<true/false>"   (optional)
        destination="<file/stdout>"        (optional)
        file-name="<file-name>"            (optional)
       />
    </output-providers>
    

    lub

    <...All commands...>
      <output-window
         suppress-messages="<true/false>"   (optional)
         destination="<file/stdout>"        (optional)
         file-name="<file-name>"            (optional)
       />
    </...All commands...>
    
  2. dostawca połączenia migracji danych: określa, który serwer źródłowy/docelowy ma być brany pod uwagę podczas migracji danych. Opcja "źródło-użyj-ostatnio-używanego" wskazuje, że do migracji danych wykorzystywany jest ostatnio używany serwer źródłowy. Podobnie target-use-last-used wskazuje, że ostatni używany serwer docelowy jest używany do migracji danych. Można również określić serwer (źródło lub obiekt docelowy) przy użyciu atrybutów source-server lub target-server.

    Jednocześnie można ustawić tylko jeden z tych atrybutów:

    • source-use-last-used="true" (ustawienie domyślne) lub source-server="<source-server-unique-name>"
    • target-use-last-used="true" (ustawienie domyślne) lub target-server="<target-server-unique-name>"

    Przykład :

    <output-providers>
      <data-migration-connection   source-use-last-used="true"
                                   target-server="<target-server-unique-name>"/>
    </output-providers>
    

    lub

    <migrate-data>
      <data-migration-connection   source-server="<source-server-unique-name>"
                                   target-use-last-used="true"/>
    </migrate-data>
    
  3. Okienko Dane Wejściowe Użytkownika: umożliwia zarządzanie błędami podczas gdy obiekty są ładowane z bazy danych. Podajesz tryby wejściowe, a jeśli wystąpi błąd, konsola postępuje zgodnie z określonymi instrukcjami.

    Tryb Opis
    ask-user Monituje o kontynuowanie (yes) lub błąd (no).
    error (ustawienie domyślne) Konsola wyświetla błąd i zatrzymuje wykonywanie.
    continue Konsola kontynuuje wykonanie.

    Przykład :

    <output-providers>
      <user-input-popup mode="<ask-user/continue/error>"/>
    </output-providers>
    

    lub

    <!-- Connect to target database -->
    <connect-target-database server="<target-server-unique-name>">
      <user-input-popup mode="<ask-user/continue/error>"/>
    </connect-target-database>
    
  4. Reconnect Provider: Umożliwia ustawienie parametrów ponownego nawiązywania połączenia w przypadku awarii. Można to ustawić zarówno dla serwerów źródłowych, jak i docelowych.

    Tryb ponownego nawiązywania połączenia Opis
    reconnect-to-last-used-server Jeśli połączenie nie jest aktywne, próbuje ponownie nawiązać połączenie z ostatnim serwerem używanym pięć razy.
    generate-an-error (ustawienie domyślne) Jeśli połączenie nie jest aktywne, zostanie wygenerowany błąd.

    Przykład:

    <output-providers>
      <reconnect-manager  on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"
                          on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>
    </output-providers>
    

    lub

    <!--synchronization-->
    <synchronize-target>
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>
    </synchronize-target>
    

    lub

    <!--data migration-->
    <migrate-data server="<target-server-unique-name>">
      <reconnect-manager
        on-source-reconnect="reconnect-to-last-used-server"
        on-target-reconnect="generate-an-error"/>
    </migrate-data>
    
  5. Converter Overwrite Provider: umożliwia obsługę obiektów, które są już obecne w docelowej metabazie.

    Akcja Opis
    error Konsola wyświetla błąd i zatrzymuje wykonywanie.
    overwrite (ustawienie domyślne) Zastępuje istniejące wartości obiektów.
    skip Konsola pomija obiekty, które już istnieją w bazie danych.
    ask-user Prosi o podanie danych wejściowych (yes / no).

    Przykład :

    <output-providers>
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </output-providers>
    

    lub

    <convert-schema object-name="<object-name>">
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>
    </convert-schema>
    
  6. Dostawca wymagań wstępnych, których nie udało się spełnić,: możesz obsłużyć wszelkie wymagania wstępne wymagane do przetworzenia polecenia. Domyślnie strict-mode jest false. Jeśli true, zostanie wygenerowany wyjątek z powodu niespełnienia wymagań wstępnych.

    Przykład:

    <output-providers>
      <prerequisites strict-mode="<true/false>"/>
    </output-providers>
    
  7. Zatrzymanie operacji: Podczas działania operacyjnego, jeśli chcesz zatrzymać operację, użyj skrótu Ctrl+C. Program SSMA dla aplikacji konsolowej SSMA oczekuje na zakończenie operacji i zatrzymuje wykonywanie aplikacji konsolowej.

    Jeśli chcesz natychmiast zatrzymać wykonywanie, ponownie naciśnij skrót klawiszowy Ctrl+C, aby zakończyć działanie aplikacji konsolowej SSMA.

  8. Dostawca postępu: Informuje o postępie każdego polecenia konsoli. Domyślnie wyłączone. Atrybuty raportowania postępu obejmują:

    • off
    • every-1%
    • every-2%
    • every-5%
    • every-10%
    • every-20%

    Przykład :

    <output-providers>
      progress-reporting   enable="<true/false>"            (optional)
                           report-messages="<true/false>"   (optional)
                           report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off" (optional)/>
    </output-providers>
    

    lub

    <...All commands...>
      <progress-reporting
        enable="<true/false>"              (optional)
        report-messages="<true/false>"     (optional)
        report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off"     (optional)/>
    </...All commands...>
    
  9. Szczegółowość loggera: ustawia poziom szczegółowości. Odpowiada to opcji Wszystkie kategorie w interfejsie użytkownika.

    Poziom rejestratora Opis
    fatal-error Rejestrowane są tylko komunikaty o błędach krytycznych.
    error (ustawienie domyślne) Rejestrowane są tylko komunikaty o błędach i błędach krytycznych.
    warning Wszystkie poziomy z wyjątkiem komunikatów debugowania i informacji są rejestrowane.
    info Wszystkie poziomy z wyjątkiem komunikatów debugowania są rejestrowane.
    debug Wszystkie poziomy zarejestrowanych komunikatów.

    Obowiązkowe komunikaty są rejestrowane na dowolnym poziomie.

    Przykład:

    <output-providers>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </output-providers>
    

    lub

    <...All commands...>
      <log-verbosity level="fatal-error/error/warning/info/debug"/>
    </...All commands...>
    
  10. Zastąpienie zaszyfrowanego hasła: jeśli true, hasło w postaci zwykłego tekstu, określone w sekcji definicji serwera w pliku połączenia serwera lub w pliku skryptu, zastępuje zaszyfrowane hasło przechowywane w chronionym magazynie, jeśli istnieje. Jeśli nie określono hasła w postaci zwykłego tekstu, zostanie wyświetlony monit o wprowadzenie hasła.

    W tym miejscu pojawiają się dwa przypadki:

    1. Jeśli opcja zastąpienia jest fałszywą, kolejność wyszukiwania to Chroniony magazyn > Plik skryptu > Plik połączenia serwera > Zapytaj użytkownika.

    2. Jeśli opcja zastąpienia jest true, kolejność wyszukiwania to Plik skryptu > Plik połączenia serwera > Monituj użytkownika.

    przykład :

    <output-providers>
      <encrypted-password override="<true/false>"/>
    </output-providers>
    

Opcja nieskonfigurowalna jest:

  • maksymalna liczba prób ponownego połączenia: gdy limit czasu nawiązania połączenia upływa lub połączenie zostaje przerwane z powodu awarii sieci, konieczne jest ponowne połączenie z serwerem. Próby ponownego nawiązania połączenia są dozwolone maksymalnie 5 razy, po czym konsola automatycznie ponownie nawiązuje połączenie. Funkcja automatycznego ponownego łączenia zmniejsza nakład pracy podczas ponownego uruchamiania skryptu.

Parametry połączenia serwera

Parametry połączenia serwera można zdefiniować w pliku skryptu lub w pliku połączenia serwera. Aby uzyskać więcej informacji, zobacz Tworzenie plików połączeń serwera.

Polecenia skryptu

Plik skryptu zawiera sekwencję komend przepływu migracji w formacie XML. Aplikacja konsolowa SSMA przetwarza migrację w kolejności poleceń wyświetlanych w pliku skryptu.

Na przykład typowa migracja danych określonej tabeli w bazie danych Db2 odbywa się według hierarchii schematu >tabeli.

Po pomyślnym wykonaniu wszystkich poleceń w pliku skryptu aplikacja konsolowa SSMA kończy działanie. Zawartość pliku skryptu jest mniej lub bardziej statyczna ze zmiennymi informacjami zawartymi w pliku wartości zmiennej lub w oddzielnej sekcji w pliku skryptu dla wartości zmiennych.

Przykład :

Oto przykładowe polecenia pliku skryptu:

<ssma-script-file>
  <script-commands>
    <create-new-project project-folder="<project-folder>"
                        project-name="<project-name>"
                        overwrite-if-exists="<true/false>"/>
    <connect-source-database server="<source-server-unique-name>"/>
    <save-project/>
    <close-project/>
  </script-commands>
</ssma-script-file>

Szablony składające się z trzech plików skryptów (do wykonywania różnych scenariuszy), pliku wartości zmiennej i pliku połączenia serwera są dostępne w folderze Przykładowe skrypty konsoli katalogu produktu:

  • AssessmentReportGenerationSample.xml
  • ConversionAndDataMigrationSample.xml
  • SqlStatementConversionSample.xml
  • VariableValueFileSample.xml
  • ServersConnectionFileSample.xml

Szablony (pliki) można wykonać po zmianie wyświetlanych tam parametrów w celu uzyskania trafności.

Pełną listę poleceń skryptów można znaleźć w Wykonaj konsolę SSMA

Walidacja pliku skryptu

Plik skryptu można zweryfikować względem pliku definicji schematu O2SSConsoleScriptSchema.xsd, dostępnego w folderze Schemas.