Udostępnij za pośrednictwem


Konwertowanie schematów db2 (Db2ToSQL)

Po nawiązaniu połączenia z bazą danych Db2 i programem SQL Server oraz ustawieniu opcji mapowania projektu i danych można przekonwertować obiekty bazy danych Db2 na obiekty bazy danych programu SQL Server.

Proces konwersji

Konwertowanie obiektów bazy danych pobiera definicje obiektów z bazy danych Db2, konwertuje je na podobne obiekty programu SQL Server, a następnie ładuje te informacje do metadanych programu SQL Server Migration Assistant (SSMA). Nie ładuje informacji do wystąpienia SQL Server. Następnie można wyświetlić obiekty i ich właściwości przy użyciu Eksploratora metadanych programu SQL Server.

Podczas konwersji program SSMA wyświetla komunikaty wyjściowe w okienku Dane wyjściowe i komunikaty o błędach w okienku Lista błędów. Użyj danych wyjściowych i informacji o błędzie, aby określić, czy musisz zmodyfikować bazy danych Db2, czy proces konwersji w celu uzyskania żądanych wyników konwersji.

Ustawianie opcji konwersji

Przed przekonwertowaniem obiektów przejrzyj opcje konwersji projektu w oknie dialogowym Ustawienia projektu. Użyj tego okna dialogowego, aby ustawić sposób konwertowania funkcji i zmiennych globalnych przez funkcję SSMA. Aby uzyskać więcej informacji, zobacz Ustawienia Projektu (Konwersja).

Wyniki konwersji

W poniższej tabeli przedstawiono, które obiekty Db2 są konwertowane, oraz wynikowe obiekty programu SQL Server:

Obiekty Db2 Wynikowe obiekty programu SQL Server
Typy danych Funkcja SSMA mapuje każdy typ z wyjątkiem następujących typów:

CLOB: niektóre funkcje natywne, które działają z tym typem, nie są obsługiwane (na przykład CLOB_EMPTY())

BLOB: Niektóre funkcje natywne do pracy z tym typem nie są obsługiwane (na przykład BLOB_EMPTY())

DBLOB: Niektóre funkcje natywne do pracy z tym typem nie są obsługiwane (na przykład DBLOB_EMPTY())
Typy zdefiniowane przez użytkownika Program SSMA mapuje następujące obiekty zdefiniowane przez użytkownika:

- Odrębny typ
- Typ ustrukturyzowany
- Typy danych SQL PL

Uwaga: Słabe typy kursorów nie są obsługiwane.
Rejestry specjalne Funkcja SSMA mapuje tylko następujące rejestry:

CURRENT TIMESTAMP
CURRENT DATE
CURRENT TIME
CURRENT TIMEZONE
CURRENT USER
SESSION_USER i USER
SYSTEM_USER
CURRENT CLIENT_APPLNAME
CURRENT CLIENT_WRKSTNNAME
CURRENT LOCK TIMEOUT
CURRENT SCHEMA
CURRENT SERVER
CURRENT ISOLATION

Inne specjalne rejestry nie są mapowane do semantyki SQL Server.
CREATE TABLE Funkcja SSMA mapuje CREATE TABLE z następującymi wyjątkami:

Tabele klastrowania wielowymiarowego (MDC)
Tabele z klastrowaniem zakresu (RCT)
Tabele partycjonowane
Odłączona tabela
Klauzula DATA CAPTURE
opcja IMPLICITLY HIDDEN
opcja VOLATILE
CREATE VIEW SSMA odwzorowuje CREATE VIEW z WITH LOCAL CHECK OPTION, ale inne opcje nie są odwzorowane do semantyki SQL Server
CREATE INDEX Funkcja SSMA mapuje CREATE INDEX z następującymi wyjątkami:

Indeks XML
opcja BUSINESS_TIME WITHOUT OVERLAPS
PARTITIONED klauzula
opcja SPECIFICATION ONLY
opcja EXTEND USING
opcja MINPCTUSED
opcja PAGE SPLIT
Wyzwalaczy SSMA mapuje następujące semantyki wyzwalaczy:

wyzwalacze AFTER / FOR EACH ROW

wyzwalacze AFTER / FOR EACH STATEMENT

wyzwalacze BEFORE / FOR EACH ROW i INSTEAD OF / FOR EACH ROW
Sekwencje Mapowane.
SELECT, instrukcja Funkcja SSMA mapuje SELECT z następującymi wyjątkami:

klauzula data-change-table-reference — częściowo mapowana, ale tabele typu FINAL nie są obsługiwane

Klauzula tabela-odwołanie — częściowo zmapowana, ale tylko tabela-odwołanie, tabela-odwołanie-zewnętrzne, wyrażenie-analizy-tabeli, tabela-pochodna-kolekcji, wyrażenie-xmltable nie są mapowane na semantykę programu SQL Server.

period-specification klauzula — nie jest mapowana.

Klauzula kontynuuj obsługi — nie jest mapowana.

Klauzula typed-correlation — nie jest mapowana.

Klauzula concurrent-access-resolution — nie jest mapowana.
VALUES oświadczenie Mapowane.
INSERT, instrukcja Mapowane.
UPDATE oświadczenie Funkcja SSMA mapuje UPDATE z następującymi wyjątkami:

Klauzula table-reference — odwołanie tylko do tabeli nie jest mapowane na semantyka programu SQL Server

Klauzula okresu — nie jest mapowana.
MERGE, instrukcja Funkcja SSMA mapuje MERGE z następującymi wyjątkami:

Pojedyncze vs wielokrotne wystąpienia klauzul — mapowane na semantykę SQL Server dla ograniczonych wystąpień klauzul

SIGNAL klauzula — nie odpowiada semantyce programu SQL Server

Mieszane klauzule UPDATE i DELETE — nie jest mapowane na semantykę programu SQL Server

Okres-klauzula — nie odpowiada semantyce SQL Server
DELETE oświadczenie Funkcja SSMA mapuje DELETE z następującymi wyjątkami:

Klauzula odwołania do tabeli — odwołanie tylko do tabeli nie jest zgodne z semantyką SQL Server

Klauzula period — nie mapuje na semantyka programu SQL Server
Poziom izolacji i typ blokady Mapowane.
Procedury (SQL) Mapowane.
Procedury (zewnętrzne) Wymagaj ręcznej aktualizacji.
Procedury (źródło) Nie mapuj na semantyka programu SQL Server.
Instrukcja przypisania Mapowane.
CALL instrukcja procedury Mapowane.
CASE, oświadczenie Mapowane.
FOR, instrukcja Mapowane.
GOTO, instrukcja Mapowane.
IF, instrukcja Mapowane.
ITERATE oświadczenie Mapowane.
LEAVE, instrukcja Mapowane.
LOOP, instrukcja Mapowane.
REPEAT, instrukcja Mapowane.
RESIGNAL, oświadczenie Warunki nie są obsługiwane. Komunikaty mogą być opcjonalne.
RETURN, oświadczenie Mapowane.
SIGNAL, oświadczenie Warunki nie są obsługiwane. Komunikaty mogą być opcjonalne.
WHILE, oświadczenie Mapowane.
GET DIAGNOSTICS, instrukcja Funkcja SSMA mapuje GET DIAGNOSTICS z następującymi wyjątkami:

ROW_COUNT — Zmapowane.

Db2_RETURN_STATUS — zmapowane.

MESSAGE_TEXT — zmapowane.

Db2_SQL_NESTING_LEVEL — nie odpowiada semantyce SQL Servera

Db2_TOKEN_STRING — nie mapuje do semantyki SQL Servera
Kursory Funkcja SSMA mapuje kursory z następującymi wyjątkami:

ALLOCATE CURSOR polecenie — nie odwzorowuje się na semantykę SQL Server

ASSOCIATE LOCATORS instrukcja — nie odpowiada semantyce serwera SQL Server

DECLARE CURSOR instrukcja — klauzula Returnability nie jest mapowana na semantykę SQL Server

FETCH instrukcja — mapowanie częściowe. Zmienne jako element docelowy są obsługiwane tylko. SQLDA DESCRIPTOR nie jest mapowane na semantykę SQL Servera
Zmienne Mapowane.
Wyjątki, procedury obsługi i warunki SSMA mapuje obsługę wyjątków z następującymi wyjątkami:

Obsługiwacze EXIT — zmapowane.

programy obsługi UNDO — mapowane.

programy obsługi CONTINUE — nie są mapowane.

Warunki — nie odpowiada semantyce programu SQL Server.
Dynamiczny język SQL Nie jest mapowany.
Pseudonimy Mapowane.
Przezwiska Mapowanie częściowe. Przetwarzanie ręczne jest wymagane dla obiektu bazowego
Synonimy Mapowane.
Standardowe funkcje Db2 Funkcja SSMA mapuje standardowe funkcje Db2, gdy równoważna funkcja jest dostępna w programie SQL Server:
Autoryzacja Nie jest mapowany.
Predykaty Mapowane.
SELECT INTO, oświadczenie Nie jest mapowany.
VALUES INTO, instrukcja Nie jest mapowany.
Kontrola transakcji Nie jest mapowany.

Konwertowanie obiektów bazy danych Db2

Aby przekonwertować obiekty bazy danych Db2, najpierw należy wybrać obiekty, które chcesz przekonwertować, a następnie przeprowadzić konwersję za pomocą programu SSMA. Aby wyświetlić komunikaty wyjściowe podczas konwersji, przejdź do View>Output.

Aby przekonwertować obiekty Db2 na składnię programu SQL Server

  1. W Eksploratorze metadanych Db2 rozwiń serwer Db2, a następnie rozwiń Schematy.

  2. Wybierz obiekty do przekonwertowania:

    • Aby przekonwertować wszystkie schematy, zaznacz pole wyboru obok Schematy.

    • Aby przekonwertować lub pominąć bazę danych, zaznacz pole wyboru obok nazwy schematu.

    • Aby przekonwertować lub pominąć kategorię obiektów, rozwiń schemat, a następnie zaznacz lub wyczyść pole wyboru obok kategorii.

    • Aby przekonwertować lub pominąć poszczególne obiekty, rozwiń folder kategorii, a następnie zaznacz lub wyczyść pole wyboru obok obiektu.

  3. Aby przekonwertować wszystkie zaznaczone obiekty, kliknij prawym przyciskiem myszy Schematy i wybierz polecenie Konwertuj schemat.

    Można również przekonwertować poszczególne obiekty lub kategorie obiektów, klikając prawym przyciskiem myszy obiekt lub jego folder nadrzędny, a następnie wybierając Konwertuj schemat.

Wyświetlanie problemów z konwersją

Niektóre obiekty Db2 mogą nie być konwertowane. Współczynniki powodzenia konwersji można określić, wyświetlając raport podsumowujący konwersję.

Wyświetlanie raportu podsumowania

  1. W Eksploratorze Metadanych Db2 wybierz Schemas.

  2. W okienku po prawej stronie wybierz kartę Raport.

    Ten raport przedstawia raport oceny podsumowania dla wszystkich obiektów bazy danych, które zostały ocenione lub przekonwertowane. Możesz również wyświetlić raport podsumowania dla poszczególnych obiektów:

    • Aby wyświetlić raport dla pojedynczego schematu, wybierz schemat w Eksploratorze metadanych db2.

    • Aby wyświetlić raport dla pojedynczego obiektu, wybierz obiekt w Eksploratorze metadanych db2. Obiekty, które mają problemy z konwersją, mają czerwoną ikonę błędu.

W przypadku obiektów, które zakończyły się niepowodzeniem konwersji, można wyświetlić składnię, która spowodowała niepowodzenie konwersji.

Wyświetlanie problemów z indywidualną konwersją

  1. W Eksploratorze metadanych Db2 rozwiń węzeł Schematy.

  2. Rozwiń schemat przedstawiający czerwoną ikonę błędu.

  3. W schemacie rozwiń folder z czerwoną ikoną błędu.

  4. Wybierz obiekt z czerwoną ikoną błędu.

  5. W okienku po prawej stronie wybierz kartę Raport.

  6. W górnej części karty Raport znajduje się lista rozwijana. Jeśli na liście wyświetla się Statystyki, zmień wybór na Źródło.

    Funkcja SSMA wyświetla kod źródłowy i kilka przycisków bezpośrednio nad kodem.

  7. Wybierz przycisk Następny problem (czerwona ikona błędu ze strzałką wskazującą prawo).

    SSMA wyróżnia pierwszy problematyczny kod źródłowy, który znajduje w bieżącym obiekcie.

Dla każdego elementu, którego nie można przekonwertować, musisz określić, co chcesz zrobić z tym obiektem:

  • Kod źródłowy procedur można zmodyfikować na karcie SQL.

  • Obiekt w bazie danych Db2 można zmodyfikować, aby usunąć lub poprawić problematyczny kod. Aby załadować zaktualizowany kod do programu SSMA, należy zaktualizować metadane. Aby uzyskać więcej informacji, zobacz Connect to Db2 database.

  • Obiekt można wykluczyć z migracji. W Eksploratorze metadanych programu SQL Server i Eksploratorze metadanych db2 wyczyść pole wyboru obok elementu przed załadowaniem obiektów do programu SQL Server i migracją danych z bazy danych Db2.