Konwertowanie baz danych MySQL (MySQLToSQL)
Po nawiązaniu połączenia z bazą danych MySQL, nawiązaniu połączenia z programem SQL Server lub usługą Azure SQL oraz ustawieniu opcji mapowania projektów i danych można przekonwertować obiekty bazy danych MySQL na obiekty programu SQL Server lub Usługi Azure SQL Database przy użyciu programu SQL Server Migration Assistant (SSMA) dla programu MySQL.
Proces konwersji
Konwertowanie obiektów bazy danych pobiera definicje obiektów z bazy danych MySQL, konwertuje je na podobne obiekty SQL Server lub Azure SQL, a następnie ładuje te informacje do metadanych SSMA. Nie ładuje informacji do instancji programu SQL Server. Następnie można wyświetlić obiekty i ich właściwości przy użyciu programu SQL Server lub Eksploratora metadanych usługi SQL Azure.
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 MySQL, 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. Za pomocą tego okna dialogowego można ustawić sposób konwertowania tabel i indeksów przez program SSMA. Aby uzyskać więcej informacji, zobacz Ustawienia projektu (Konwersja).
Wyniki konwersji
W poniższej tabeli przedstawiono, które obiekty MySQL są konwertowane, oraz wynikowe obiekty programu SQL Server:
Obiekty MySQL | Wynikowe obiekty programu SQL Server |
---|---|
Tabele z obiektami zależnymi, takimi jak indeksy | Program SSMA tworzy tabele z obiektami zależnymi. Tabela jest konwertowana ze wszystkimi indeksami i ograniczeniami. Indeksy są konwertowane na oddzielne obiekty programu SQL Server. mapowanie typu danych przestrzennych można wykonać tylko na poziomie węzła tabeli. Aby uzyskać więcej informacji na temat ustawień konwersji tabel, zobacz Ustawienia konwersji |
Funkcje | Jeśli funkcję można przekonwertować bezpośrednio na język Transact-SQL, program SSMA tworzy funkcję. W niektórych przypadkach funkcja musi zostać przekonwertowana na procedurę składowaną. Można to zrobić przy użyciu funkcji konwersji w ustawieniach projektu. W tym przypadku program SSMA tworzy procedurę składowaną i funkcję, która wywołuje procedurę składowaną. Podane opcje: - Konwertuj zgodnie z ustawieniami projektu - Konwertuj na funkcję - Konwertowanie na procedurę składowaną Aby uzyskać więcej informacji na temat funkcji konwersji, zobacz Ustawienia konwersji |
Procedury | Jeśli procedurę można przekonwertować bezpośrednio na język Transact-SQL, program SSMA tworzy procedurę składowaną. W niektórych przypadkach procedura składowana musi być wywoływana w transakcji autonomicznej. W tym przypadku SSMA tworzy dwie procedury składowane: jedną, która implementuje tę procedurę, i drugą, używaną do wywoływania procedury implementującej. |
Konwersja bazy danych | Bazy danych jako obiekty MySQL nie są bezpośrednio konwertowane przez program SSMA for MySQL. Bazy danych MySQL są traktowane bardziej jak nazwa schematu, a wszystkie parametry fizyczne są tracone podczas konwersji. Program SSMA for MySQL używa mapowania baz danych MySQL na schematy programu SQL Server do mapowania obiektów z bazy danych MySQL na odpowiednią parę baz danych/schematu programu SQL Server. |
Konwersja wyzwalacza | Funkcja SSMA tworzy wyzwalacze na podstawie następujących reguł: - PRZED konwersją wyzwalaczy na wyzwalacze T-SQL - Wyzwalacze AFTER są konwertowane na wyzwalacze AFTER T-SQL z iteracjami na wiersze lub bez nich. |
Wyświetl konwersję | Usługa SSMA tworzy widoki z obiektami zależnymi |
Konwersja oświadczenia | — Każdy obiekt polecenia SQL może zawierać jedno polecenie MySQL (na przykład DDL, DML i inne typy poleceń) lub blok BEGIN ... END. - W konwersji wielostanowej bloków BEGIN ... END, instrukcja SQL może również zawierać blok BEGIN ... END, podobny do tego w definicji procedury, funkcji lub wyzwalacza. Te bloki powinny być konwertowane w taki sam sposób, jak są konwertowane dla pojedynczych obiektów instrukcji MySQL. |
Konwertowanie obiektów bazy danych MySQL
Aby przekonwertować obiekty bazy danych MySQL, 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, w menu View wybierz pozycję Output.
Konwertowanie obiektów MySQL na składnię SQL Server lub Azure SQL
W Eksploratorze metadanych MySQL rozwiń serwer MySQL, a następnie rozwiń węzeł Databases.
Wybierz obiekty do przekonwertowania:
Aby przekonwertować wszystkie schematy, zaznacz pole wyboru obok bazy danych .
Aby przekonwertować lub pominąć bazę danych, zaznacz pole wyboru obok nazwy bazy danych.
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 Databases 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 MySQL mogą nie być konwertowane. Można określić współczynniki powodzenia konwersji, wyświetlając podsumowanie raportu konwersji.
Wyświetlanie raportu podsumowania
W Eksploratorze metadanych programu MySQL wybierz bazy danych .
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 bazę danych w Eksploratorze metadanych MySQL.
Aby wyświetlić raport dla pojedynczego obiektu, wybierz obiekt w Eksploratorze metadanych MySQL. 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 mySQL rozwiń węzeł Databases.
Rozwiń bazę danych z czerwoną ikoną błędu.
W bazie danych rozwiń folder z czerwoną ikoną błędu.
Wybierz obiekt z czerwoną ikoną błędu.
W okienku po prawej stronie wybierz kartę Raport.
Na górze karty Raport znajduje się lista rozwijana. Jeśli na liście jest wyświetlana Statistics, zmień wybór na Source.
Funkcja SSMA wyświetla kod źródłowy i kilka przycisków bezpośrednio nad kodem.
Wybierz przycisk Następny problem. Jest to czerwona ikona błędu ze strzałką wskazującą prawo.
Funkcja 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:
Obiekt w bazie danych MySQL 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 Connecting to MySQL
Obiekt można wykluczyć z migracji. W Eksploratorze metadanych SQL Server lub SQL Azure oraz w Eksploratorze metadanych MySQL odznacz pole wyboru obok elementu przed załadowaniem obiektów do SQL Server lub Azure SQL i migracją danych z MySQL.