Kurz: Migrace SQL Serveru do Azure SQL Database pomocí DMS (Classic)
Důležité
Azure Database Migration Service (Classic) – Scénáře SQL jsou na cestě vyřazení. Od 1. srpna 2023 už nebudete moct vytvářet nové prostředky služby Database Migration Service (Classic) pro scénáře SQL Serveru z webu Azure Portal. Služba bude vyřazena 15. března 2026 pro všechny zákazníky. V případě bezproblémové migrace z více databázových zdrojů do cílů Azure SQL microsoft doporučuje používat nejnovější verzi služby Azure Database Migration Service, která je dostupná jako azure SQL Migration , rozšíření v Nástroji Azure Data Studio nebo prostřednictvím webu Azure Portal nebo prostřednictvím Azure PowerShellu a Azure CLI. Další informace najdete v tématu Oznámení o vyřazení služby Database Migration Service (Classic).
Poznámka:
Tento kurz používá starší verzi služby Azure Database Migration Service. Pokud chcete zlepšit funkčnost a možnosti podpory, zvažte migraci do služby Azure SQL Database pomocí rozšíření migrace Azure SQL pro Azure Data Studio.
Pokud chcete porovnat funkce mezi verzemi, projděte si porovnání verzí.
Službu Azure Database Migration Service můžete použít k migraci databází z instance SQL Serveru do služby Azure SQL Database. V tomto kurzu provedete migraci databáze AdventureWorks2016 obnovené do místní instance SQL Serveru 2016 (nebo novější) do izolované databáze nebo databáze ve fondu ve službě Azure SQL Database pomocí služby Azure Database Migration Service.
V tomto kurzu se naučíte:
- Pomocí datového Pomocník s migrací vyhodnoťte a vyhodnoťte místní databázi, jestli neblokují problémy.
- Pomocí datového Pomocník s migrací migrujte ukázkové schéma databáze.
- Zaregistrujte poskytovatele prostředků Azure DataMigration.
- Vytvořte instanci služby Azure Database Migration Service.
- Vytvořte projekt migrace pomocí služby Azure Database Migration Service.
- Spuštění migrace
- Monitorujte migraci.
Požadavky
Pro absolvování tohoto kurzu je potřeba provést následující:
Stáhněte a nainstalujte SQL Server 2016 nebo novější.
Povolte protokol TCP/IP, který se ve výchozím nastavení zakáže během instalace SQL Serveru Express, a to podle pokynů v článku Povolení nebo zakázání síťového protokolu serveru.
Obnovte databázi AdventureWorks2016 do instance SQL Serveru.
Vytvořte databázi ve službě Azure SQL Database, kterou provedete podle podrobností v článku Vytvoření databáze ve službě Azure SQL Database pomocí webu Azure Portal. Pro účely tohoto kurzu se předpokládá, že je název služby Azure SQL Database AdventureWorksAzure, ale můžete zadat libovolný název.
Poznámka:
Pokud používáte službu SQL Server Integration Services (SSIS) a chcete migrovat databázi katalogu pro vaše projekty a balíčky SSIS (SSISDB) z SQL Serveru do služby Azure SQL Database, bude cílová databáze SSISDB vytvořena a spravována automaticky vaším jménem při zřizování služby SSIS ve službě Azure Data Factory (ADF). Další informace o migraci balíčků SSIS najdete v článku Migrace balíčků služby SQL Server Integration Services do Azure.
Stáhněte a nainstalujte nejnovější verzi datového Pomocník s migrací.
Vytvořte pro službu Azure Database Migration Service síť Microsoft Azure Virtual Network s použitím modelu nasazení Azure Resource Manager, který poskytuje možnosti připojení typu Site-to-Site k místním zdrojovým serverům prostřednictvím ExpressRoute nebo sítě VPN. Další informace o vytváření virtuální sítě najdete v dokumentaci k virtuální síti a zejména v článcích rychlého startu s podrobnými podrobnostmi.
Poznámka:
Pokud během instalace virtuální sítě použijete ExpressRoute s partnerským vztahem sítě k Microsoftu, přidejte do podsítě, ve které bude služba zřízena, následující koncové body služby:
- Cílový koncový bod databáze (například koncový bod SQL, koncový bod služby Azure Cosmos DB atd.)
- Koncový bod úložiště
- Koncový bod služby Service Bus
Tato konfigurace je nezbytná, protože Azure Database Migration Service nemá připojení k internetu.
Pokud nemáte připojení typu site-to-site mezi místní sítí a Azure nebo pokud existuje omezená šířka pásma připojení typu site-to-site, zvažte použití služby Azure Database Migration Service v hybridním režimu (Preview). Hybridní režim využívá místní pracovní proces migrace společně s instancí služby Azure Database Migration Service spuštěnou v cloudu. Pokud chcete vytvořit instanci služby Azure Database Migration Service v hybridním režimu, přečtěte si článek Vytvoření instance služby Azure Database Migration Service v hybridním režimu pomocí webu Azure Portal.
Ujistěte se, že odchozí pravidla zabezpečení skupiny zabezpečení virtuální sítě neblokují odchozí port 443 ServiceTag pro ServiceBus, Storage a AzureMonitor. Další podrobnosti o filtrování provozu NSG virtuální sítě Azure najdete v článku Filtrování síťového provozu pomocí skupin zabezpečení sítě.
Nakonfigurujte bránu Windows Firewall pro přístup k databázovému stroji.
Otevřete bránu firewall ve Windows a povolte službě Azure Database Migration Service přístup ke zdrojovému SQL Serveru, což je ve výchozím nastavení port TCP 1433. Pokud vaše výchozí instance naslouchá na jiném portu, přidejte ji do brány firewall.
Pokud používáte více pojmenovaných instancí SQL Serveru pomocí dynamických portů, možná budete chtít povolit službu SQL Browser a povolit přístup k portu UDP 1434 přes brány firewall, aby se služba Azure Database Migration Service mohla připojit k pojmenované instanci na zdrojovém serveru.
Při použití zařízení brány firewall před zdrojovými databázemi možná budete muset přidat pravidla brány firewall, která službě Azure Database Migration Service umožní přístup ke zdrojovým databázím pro migraci.
Vytvořte pravidlo brány firewall protokolu IP na úrovni serveru pro Službu Azure SQL Database, které povolí službě Azure Database Migration Service přístup k cílovým databázím. Zadejte rozsah podsítí virtuální sítě použité pro službu Azure Database Migration Service.
Ujistěte se, že přihlašovací údaje použité pro připojení ke zdrojové instanci SQL Serveru mají oprávnění CONTROL SERVER.
Ujistěte se, že přihlašovací údaje použité pro připojení k cílové instanci služby Azure SQL Database mají oprávnění CONTROL DATABASE k cílovým databázím.
Důležité
Vytvoření instance služby Azure Database Migration Service vyžaduje přístup k nastavení virtuální sítě, která obvykle nejsou ve stejné skupině prostředků. V důsledku toho uživatel, který vytváří instanci DMS, potřebuje oprávnění na úrovni předplatného. Pokud chcete vytvořit požadované role, které můžete přiřadit podle potřeby, spusťte následující skript:
$readerActions = ` "Microsoft.Network/networkInterfaces/ipConfigurations/read", ` "Microsoft.DataMigration/*/read", ` "Microsoft.Resources/subscriptions/resourceGroups/read" $writerActions = ` "Microsoft.DataMigration/services/*/write", ` "Microsoft.DataMigration/services/*/delete", ` "Microsoft.DataMigration/services/*/action", ` "Microsoft.Network/virtualNetworks/subnets/join/action", ` "Microsoft.Network/virtualNetworks/write", ` "Microsoft.Network/virtualNetworks/read", ` "Microsoft.Resources/deployments/validate/action", ` "Microsoft.Resources/deployments/*/read", ` "Microsoft.Resources/deployments/*/write" $writerActions += $readerActions # TODO: replace with actual subscription IDs $subScopes = ,"/subscriptions/00000000-0000-0000-0000-000000000000/","/subscriptions/11111111-1111-1111-1111-111111111111/" function New-DmsReaderRole() { $aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition]::new() $aRole.Name = "Azure Database Migration Reader" $aRole.Description = "Lets you perform read only actions on DMS service/project/tasks." $aRole.IsCustom = $true $aRole.Actions = $readerActions $aRole.NotActions = @() $aRole.AssignableScopes = $subScopes #Create the role New-AzRoleDefinition -Role $aRole } function New-DmsContributorRole() { $aRole = [Microsoft.Azure.Commands.Resources.Models.Authorization.PSRoleDefinition]::new() $aRole.Name = "Azure Database Migration Contributor" $aRole.Description = "Lets you perform CRUD actions on DMS service/project/tasks." $aRole.IsCustom = $true $aRole.Actions = $writerActions $aRole.NotActions = @() $aRole.AssignableScopes = $subScopes #Create the role New-AzRoleDefinition -Role $aRole } function Update-DmsReaderRole() { $aRole = Get-AzRoleDefinition "Azure Database Migration Reader" $aRole.Actions = $readerActions $aRole.NotActions = @() Set-AzRoleDefinition -Role $aRole } function Update-DmsConributorRole() { $aRole = Get-AzRoleDefinition "Azure Database Migration Contributor" $aRole.Actions = $writerActions $aRole.NotActions = @() Set-AzRoleDefinition -Role $aRole } # Invoke above functions New-DmsReaderRole New-DmsContributorRole Update-DmsReaderRole Update-DmsConributorRole
Posouzení místní databáze
Než budete moct migrovat data z instance SQL Serveru do izolované databáze nebo databáze ve fondu ve službě Azure SQL Database, musíte posoudit, jestli databáze SQL Serveru neblokuje problémy, které by mohly zabránit migraci. Pomocí Pomocník s migrací dat proveďte posouzení místní databáze podle kroků popsaných v článku Provedení posouzení migrace SQL Serveru. Následuje souhrn požadovaných kroků:
V nástroji Data Migration Assistant vyberte ikonu Nový (+) a pak vyberte typ projektu Posouzení.
Zadejte název projektu. V rozevíracím seznamu Typ posouzení vyberte Databázový stroj, v textovém poli Typ zdrojového serveru vyberte SQL Server, v textovém poli Typ cílového serveru vyberte Azure SQL Database a pak vyberte Vytvořit a vytvořte projekt.
Při posuzování zdrojové databáze SQL Serveru, která migruje do izolované databáze nebo databáze ve fondu ve službě Azure SQL Database, můžete zvolit jeden nebo oba následující typy sestav posouzení:
- Kontrola kompatibility databáze
- Kontrola parity funkcí
Ve výchozím nastavení jsou vybrané oba typy sestavy.
V nástroji Data Migration Assistant na obrazovce Možnosti vyberte Další.
Na obrazovce Vybrat zdroje v dialogovém okně Připojit k serveru zadejte podrobnosti o připojení k vašemu SQL Serveru a pak vyberte Připojit.
V dialogovém okně Přidat zdroje vyberte AdventureWorks2016, vyberte Přidat a pak vyberte Spustit hodnocení.
Poznámka:
Pokud používáte SSIS, nástroj DMA v současné době nepodporuje posouzení zdrojové databáze SSISDB. Projekty a balíčky služby SSIS se ale budou vyhodnocovat a ověřovat při jejich opětovném nasazení do cílové databáze SSISDB hostované službou Azure SQL Database. Další informace o migraci balíčků SSIS najdete v článku Migrace balíčků služby SQL Server Integration Services do Azure.
Po dokončení posouzení se zobrazí výsledky, jak je znázorněno na následujícím obrázku:
U databází ve službě Azure SQL Database posouzení identifikují problémy s paritou funkcí a problémy s blokováním migrace pro nasazení do izolované databáze nebo databáze ve fondu.
- Kategorie Parita funkcí SQL Serveru poskytuje komplexní sadu doporučení, alternativní postupy, které jsou v Azure k dispozici, a postupy pro zmírnění problémů, které vám pomůžou naplánovat náročnost projektů migrace.
- Kategorie Problémy s kompatibilitou identifikuje částečně podporované nebo nepodporované funkce, které odrážejí problémy s kompatibilitou, které by mohly blokovat migraci databází SQL Serveru do služby Azure SQL Database. K dispozici jsou také doporučení, která vám pomůžou tyto problémy vyřešit.
Výběrem konkrétních možností zkontrolujte výsledky posouzení z hlediska problémů blokujících migraci a problémů s paritou funkcí.
Migrace ukázkového schématu
Jakmile budete spokojeni s posouzením a spokojení s tím, že vybraná databáze je vhodným kandidátem na migraci do izolované databáze nebo databáze ve fondu ve službě Azure SQL Database, pomocí DMA migrujte schéma do Azure SQL Database.
Poznámka:
Než ve službě Data Pomocník s migrací vytvoříte projekt migrace, ujistěte se, že jste už v Azure zřídili databázi, jak je uvedeno v požadavcích.
Důležité
Pokud používáte SSIS, nástroj DMA v současné době nepodporuje migraci zdrojové databáze SSISDB, ale projekty nebo balíčky SSIS můžete znovu nasadit do cílové databáze SSISDB hostované službou Azure SQL Database. Další informace o migraci balíčků SSIS najdete v článku Migrace balíčků služby SQL Server Integration Services do Azure.
Pokud chcete migrovat schéma AdventureWorks2016 do izolované databáze nebo databáze ve fondu, proveďte následující kroky:
V nástroji Data Migration Assistant vyberte ikonu Nový (+) a pak v části Typ projektu vyberte Migrace.
Zadejte název projektu, v textovém poli Typ zdrojového serveru vyberte SQL Server a pak v textovém poli Typ cílového serveru vyberte Azure SQL Database.
V části Rozsah migrace vyberte Pouze schéma.
Po provedení předchozích kroků by se mělo zobrazit rozhraní nástroje Data Migration Assistant, jak je znázorněno na následujícím obrázku:
Vyberte Vytvořit a vytvořte projekt.
V Pomocník s migrací dat zadejte podrobnosti o zdrojovém připojení pro SQL Server, vyberte Připojení a pak vyberte databázi AdventureWorks2016.
V části další vyberte v části Připojení cílovému serveru podrobnosti o cílovém připojení pro službu Azure SQL Database, vyberte Připojení a pak vyberte databázi AdventureWorksAzure, kterou jste předtím zřídili ve službě Azure SQL Database.
Výběrem možnosti Další přejděte na obrazovku Vybrat objekty, na které můžete určit objekty schématu v databázi AdventureWorks2016 , které je potřeba nasadit do služby Azure SQL Database.
Ve výchozím nastavení jsou vybrané všechny objekty.
Výběrem možnosti Vygenerovat skript SQL vytvořte skripty SQL a pak zkontrolujte, jestli skripty neobsahují chyby.
Vyberte Nasadit schéma a nasaďte schéma do služby Azure SQL Database. Po nasazení schématu zkontrolujte případné anomálie na cílovém serveru.
Registrace poskytovatele prostředků
Než vytvoříte první instanci služby Database Migration Service, zaregistrujte poskytovatele prostředků Microsoft.DataMigration.
Přihlaste se k portálu Azure. Vyhledejte a vyberte Předplatná.
Vyberte předplatné, ve kterém chcete vytvořit instanci služby Azure Database Migration Service, a pak vyberte poskytovatele prostředků.
Vyhledejte migraci a pak vyberte Zaregistrovat pro Microsoft.DataMigration.
Vytvoření instance služby Azure Database Migration Service
V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek. Vyhledejte a vyberte Azure Database Migration Service.
Na obrazovce Azure Database Migration Service vyberte Vytvořit.
Vyberte odpovídající typ zdrojového serveru a typ cílového serveru a zvolte možnost Database Migration Service (Classic).
Na obrazovce Základy vytvoření služby Migration Service:
- Vyberte předplatné.
- Vytvořte novou skupinu prostředků nebo zvolte existující.
- Zadejte název instance služby Azure Database Migration Service.
- Vyberte umístění, ve kterém chcete vytvořit instanci služby Azure Database Migration Service.
- Jako režim služby zvolte Azure .
- Vyberte cenovou úroveň. Další informace o nákladech a cenových úrovních najdete na stránce s cenami.
- Vyberte Další: Sítě.
Na obrazovce Vytvořit síťovou službu Migration Service:
- Vyberte existující virtuální síť nebo vytvořte novou. Virtuální síť poskytuje službě Azure Database Migration Service přístup ke zdrojovému serveru a cílové instanci. Další informace o tom, jak vytvořit virtuální síť na webu Azure Portal, najdete v článku Vytvoření virtuální sítě pomocí webu Azure Portal.
Výběrem možnosti Zkontrolovat a vytvořit zkontrolujte podrobnosti a pak výběrem možnosti Vytvořit vytvořte službu.
Po chvíli se vaše instance služby Azure Database Migration Service vytvoří a bude připravená k použití:
Vytvoření projektu migrace
Po vytvoření služby ji vyhledejte na webu Azure Portal, otevřete ji a pak vytvořte nový projekt migrace.
V nabídce webu Azure Portal vyberte Všechny služby. Vyhledejte a vyberte Azure Database Migration Services.
Na obrazovce Azure Database Migration Services vyberte instanci služby Azure Database Migration Service, kterou jste vytvořili.
Vyberte Nový projekt migrace.
Na obrazovce Nový projekt migrace zadejte název projektu, v textovém poli Typ zdrojového serveru vyberte SQL Server, v textovém poli Typ cílového serveru vyberte Azure SQL Database a pak jako typ aktivity Zvolit migraci vyberte Migraci dat.
Vyberte Vytvořit a spustit aktivitu a vytvořte projekt a spusťte aktivitu migrace.
Zadání podrobností o zdroji
Na obrazovce Vybrat zdroj zadejte podrobnosti o připojení ke zdrojové instanci SQL Serveru.
Jako název zdrojové instance SQL Serveru nezapomeňte použít plně kvalifikovaný název domény. V situacích, kdy není možný překlad názvů DNS, můžete použít také IP adresu.
Pokud jste na svém zdrojovém serveru nenainstalovali důvěryhodný certifikát, zaškrtněte políčko Důvěřovat certifikátu serveru.
Pokud není nainstalovaný důvěryhodný certifikát, SQL Server při spuštění instance vygeneruje certifikát podepsaný svým držitelem. Tento certifikát slouží k šifrování přihlašovacích údajů pro připojení klientů.
Upozornění
Připojení TLS šifrovaná pomocí certifikátu podepsaného svým držitelem neposkytují silné zabezpečení. Jsou náchylná na útoky, kdy se útočníci vydávají za prostředníky. Neměli byste spoléhat na protokol TLS pomocí certifikátů podepsaných svým držitelem v produkčním prostředí nebo na serverech připojených k internetu.
Důležité
Pokud používáte SSIS, DMS v současné době nepodporuje migraci zdrojové databáze SSISDB, ale projekty nebo balíčky SSIS můžete znovu nasadit do cílové databáze SSISDB hostované službou Azure SQL Database. Další informace o migraci balíčků SSIS najdete v článku Migrace balíčků služby SQL Server Integration Services do Azure.
Vyberte Další: Vyberte databáze.
Výběr databází pro migraci
Vyberte všechny databáze nebo konkrétní databáze, které chcete migrovat do Služby Azure SQL Database. DMS poskytuje očekávanou dobu migrace pro vybrané databáze. Pokud jsou výpadky migrace přijatelné, pokračujte v migraci. Pokud výpadky migrace nejsou přijatelné, zvažte migraci do služby SQL Managed Instance s téměř nulovým výpadkem nebo odeslání nápadů a návrhů na vylepšení a další názory ve fóru komunity Azure – Azure Database Migration Service.
Ze seznamu dostupných databází zvolte databáze, které chcete migrovat.
Zkontrolujte očekávaný výpadek. Pokud je to přijatelné, vyberte Další: Vybrat cíl. >>
Zadání podrobností o cíli
Na obrazovce Vybrat cíl zadejte nastavení ověřování pro službu Azure SQL Database.
Poznámka:
V současné době je ověřování SQL jediným podporovaným typem ověřování.
Vyberte Další: Namapujte na obrazovku Cílové databáze , namapujte zdrojovou a cílovou databázi pro migraci.
Pokud cílová databáze obsahuje stejný název databáze jako zdrojová databáze, služba Azure Database Migration Service ve výchozím nastavení vybere cílovou databázi.
Vyberte Další: Nastavení migrace konfigurace, rozbalte seznam tabulek a zkontrolujte seznam ovlivněných polí.
Služba Azure Database Migration Service automaticky vybere všechny prázdné zdrojové tabulky, které existují v cílové instanci služby Azure SQL Database. Pokud chcete znovu migrovat tabulky, které již obsahují data, musíte tabulky explicitně vybrat v tomto okně.
Vyberte Další: Souhrn, zkontrolujte konfiguraci migrace a v textovém poli Název aktivity zadejte název aktivity migrace.
Spuštění migrace
Vyberte Zahájit migraci.
Zobrazí se okno aktivity migrace a Stav aktivity bude Probíhající.
Monitorování migrace
Na obrazovce aktivity migrace vyberte Aktualizovat a aktualizujte zobrazení, dokud se Stav migrace nezmění na Dokončeno.
Ověřte cílové databáze v cílové službě Azure SQL Database.
Další materiály
- Informace o službě Azure Database Migration Service najdete v článku Co je Azure Database Migration Service?
- Informace o službě Azure SQL Database najdete v článku Co je služba Azure SQL Database?