Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Po připojení k MySQL se připojte k SQL Serveru nebo Azure SQL a nastavte možnosti mapování projektů a dat, můžete převést databázové objekty MySQL na SQL Server nebo objekty Azure SQL Database pomocí nástroje SQL Server Migration Assistant (SSMA) pro MySQL.
Proces převodu
Převod databázových objektů přebírá definice objektů z MySQL, převede je na podobné objekty SQL Serveru nebo Azure SQL a pak tyto informace načte do metadat SSMA. Nenačítá informace do instance SQL Serveru. Objekty a jejich vlastnosti pak můžete zobrazit pomocí SQL Serveru nebo Průzkumníka metadat SQL Azure.
Během převodu SSMA vytiskne výstupní zprávy do podokna Výstup a chybové zprávy do podokna Seznam chyb. Pomocí informací o výstupu a chybě určete, jestli je nutné upravit databáze MySQL nebo proces převodu, abyste získali požadované výsledky převodu.
Nastavení možností převodu
Před převodem objektů zkontrolujte možnosti převodu projektu v dialogovém okně Nastavení projektu. Pomocí tohoto dialogového okna můžete nastavit, jak SSMA převádí tabulky a indexy. Další informace naleznete v tématu Nastavení projektu (převod).
Výsledky převodu
Následující tabulka ukazuje, které objekty MySQL jsou převedeny a výsledné objekty SQL Serveru:
| Objekty MySQL | Výsledné objekty SQL Serveru |
|---|---|
| Tabulky se závislými objekty, jako jsou indexy | SSMA vytváří tabulky se závislými objekty. Tabulka je převedena se všemi indexy a omezeními. Indexy se převedou na samostatné objekty SQL Serveru. mapování prostorového datového typu lze provádět pouze na úrovni uzlu tabulky. Pokud potřebujete více informací o nastavení převodu tabulky, podívejte se na Nastavení převodu |
| Funkce | Pokud lze funkci přímo převést na Transact-SQL, SSMA vytvoří funkci. V některých případech musí být funkce převedena na uloženou proceduru. To lze provést pomocí konverze funkcí v nastavení projektu. V tomto případě SSMA vytvoří uloženou proceduru a funkci, která volá uloženou proceduru. Zvolené možnosti: - Převést podle nastavení projektu - Převést na funkci - Převést na uloženou proceduru Další informace o nastavení převodu funkcí najdete v tématu Nastavení převodu |
| Postupy | Pokud lze proceduru přímo převést na Transact-SQL, SSMA vytvoří uloženou proceduru. V některých případech musí být uložená procedura volána v autonomní transakci. V tomto případě SSMA vytvoří dvě uložené procedury: jednu, která implementuje proceduru, a druhou, která se používá pro volání implementace uložené procedury. |
| Převod databáze | Databáze jako objekty MySQL nejsou přímo převedeny pomocí SSMA for MySQL. Databáze MySQL se zpracovávají spíše jako název schématu a během převodu se ztratí všechny fyzické parametry. SSMA for MySQL používá mapování databází MySQL na schémata SQL Serveru ke spárování objektů z databáze MySQL s odpovídající databází a schématem SQL Serveru. |
| Převod aktivační události | SSMA vytváří triggery na základě následujících pravidel: Před spuštěním jsou triggery typu BEFORE převedeny na T-SQL triggery typu INSTEAD OF. – Triggery AFTER se převedou na triggery AFTER T-SQL s iteracemi na řádky nebo bez ní. |
| Zobrazit převod | SSMA vytvoří zobrazení se závislými objekty. |
| Převod výkazů | - Každý objekt příkazu SQL může obsahovat jeden příkaz MySQL (například DDL, DML a jiné typy příkazů) nebo BEGIN ... END blok. - Při konverzi bloku MultiStatement: konverze bloku BEGIN ... END může příkaz SQL také obsahovat blok BEGIN ... END podobný tomu v definici procedury, funkce nebo spouště. Tyto bloky by se měly převést stejným způsobem jako u jednoho objektu příkazů MySQL. |
Převod databázových objektů MySQL
Chcete-li převést databázové objekty MySQL, nejprve vyberte objekty, které chcete převést, a poté nechte SSMA provést převod. Chcete-li zobrazit výstupní zprávy během převodu, v nabídce Zobrazit vyberte Výstupní.
Převod objektů MySQL na SQL Server nebo syntaxi Azure SQL
V Průzkumníku metadat MySQL rozbalte server MySQL a potom rozbalte Databáze.
Vyberte objekty, které chcete převést:
Chcete-li převést všechna schémata, zaškrtněte políčko vedle Databáze.
Pokud chcete databázi převést nebo vynechat, zaškrtněte políčko vedle názvu databáze.
Chcete-li převést nebo vynechat kategorii objektů, rozbalte schéma a potom zaškrtněte nebo zrušte zaškrtnutí políčka vedle kategorie.
Chcete-li převést nebo vynechat jednotlivé objekty, rozbalte složku kategorie a potom zaškrtněte nebo zrušte zaškrtnutí políčka vedle objektu.
Chcete-li převést všechny vybrané objekty, klikněte pravým tlačítkem na Databáze a vyberte Převést schéma.
Jednotlivé objekty nebo kategorie objektů můžete také převést tak, že kliknete pravým tlačítkem myši na objekt nebo jeho nadřazenou složku a pak vyberete Převést schéma.
Zobrazení problémů s převodem
Některé objekty MySQL nemusí být převedeny. Míru úspěšnosti konverze můžete určit zobrazením souhrnné zprávy o konverzi.
Zobrazit souhrnnou sestavu
V Průzkumníku metadat MySQL vyberte Databáze.
V pravém podokně vyberte kartu Sestava.
Tato zpráva zobrazuje souhrnné hodnocení pro všechny databázové objekty, které byly posouzeny nebo převedeny. Můžete také zobrazit souhrn pro jednotlivé objekty:
Pokud chcete zobrazit sestavu pro jednotlivé schéma, vyberte databázi v Průzkumníku metadat MySQL.
Pokud chcete zobrazit sestavu pro jednotlivé objekty, vyberte objekt v Průzkumníku metadat MySQL. Objekty s problémy s převodem mají červenou ikonu chyby.
U objektů, které selhaly převod, můžete zobrazit syntaxi, která způsobila selhání převodu.
Zobrazení individuálních problémů s převodem
V Průzkumníku metadat MySQL rozbalte Databáze.
Rozbalte databázi, která zobrazuje červenou ikonu chyby.
V databázi rozbalte složku s červenou ikonou chyby.
Vyberte objekt, který má červenou ikonu chyby.
V pravém podokně vyberte kartu Sestava.
V horní části záložky Sestava je rozevírací seznam. Pokud se v seznamu zobrazí Statistika, změňte výběr na Zdroj.
SSMA zobrazí zdrojový kód a několik tlačítek bezprostředně nad kódem.
Vyberte tlačítko Další problém. Jedná se o červenou ikonu chyby se šipkou vpravo.
SSMA zvýrazní první problematický zdrojový kód, který najde v aktuálním objektu.
U každé položky, která se nedá převést, musíte určit, co chcete s tímto objektem udělat:
Objekt v databázi MySQL můžete upravit tak, aby odebral nebo upravil problematický kód. Pokud chcete načíst aktualizovaný kód do SSMA, musíte aktualizovat metadata. Další informace najdete v tématu Připojení k MySQL
Objekt můžete vyloučit z migrace. V SQL Serveru nebo Průzkumníku metadat SQL Azure a Průzkumníku metadat MySQL zrušte zaškrtnutí políčka vedle položky před načtením objektů do SQL Serveru nebo Azure SQL a migrací dat z MySQL.