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ą:
dostawca okna wyjściowego: jeśli atrybut
suppress-messages
jest ustawiony natrue
, 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...>
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) lubsource-server="<source-server-unique-name>"
-
target-use-last-used="true"
(ustawienie domyślne) lubtarget-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>
-
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>
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>
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>
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
jestfalse
. Jeślitrue
, zostanie wygenerowany wyjątek z powodu niespełnienia wymagań wstępnych.Przykład:
<output-providers> <prerequisites strict-mode="<true/false>"/> </output-providers>
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.
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...>
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...>
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:
Jeśli opcja zastąpienia jest fałszywą, kolejność wyszukiwania to Chroniony magazyn > Plik skryptu > Plik połączenia serwera > Zapytaj użytkownika.
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
.