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 klauzulaopcja 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ługiwaneKlauzula 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 ServerMieszane klauzule UPDATE i DELETE — nie jest mapowane na semantykę programu SQL ServerOkres-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 ServeraDb2_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 ServerASSOCIATE LOCATORS instrukcja — nie odpowiada semantyce serwera SQL ServerDECLARE CURSOR instrukcja — klauzula Returnability nie jest mapowana na semantykę SQL ServerFETCH 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
W Eksploratorze metadanych Db2 rozwiń serwer Db2, a następnie rozwiń Schematy.
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.
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
W Eksploratorze Metadanych Db2 wybierz Schemas.
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ą
W Eksploratorze metadanych Db2 rozwiń węzeł Schematy.
Rozwiń schemat przedstawiający czerwoną ikonę błędu.
W schemacie rozwiń folder z czerwoną ikoną błędu.
Wybierz obiekt z czerwoną ikoną błędu.
W okienku po prawej stronie wybierz kartę Raport.
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.
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.