Kurz: Migrace SQL Server do Azure SQL Database pomocí DMS (Classic)

Důležité

Azure Database Migration Service (classic) – Scénáře SQL jsou na cestě k vyřazení. Od 1. srpna 2023 už nebudete moct vytvářet nový Database Migration Service (klasický) prostředek pro SQL Server scénáře ze služby Azure Portal a k 15. březnu 2026 bude vyřazen pro všechny zákazníky. Proveďte migraci na Azure SQL databázových služeb pomocí nejnovější verze Azure Database Migration Service, která je k dispozici jako rozšíření v nástroji Azure Data Studio, nebo pomocí Azure PowerShell a Azure CLI. Další informace

Poznámka

Tento kurz používá starší verzi Azure Database Migration Service. Pokud chcete zlepšit funkčnost a možnosti podpory, zvažte migraci na Azure SQL Database pomocí rozšíření Azure SQL migrace pro Azure Data Studio.

Pokud chcete porovnat funkce mezi verzemi, projděte si porovnání verzí.

Pomocí Azure Database Migration Service můžete migrovat databáze z instance SQL Server do Azure SQL Database. V tomto kurzu provedete migraci databáze AdventureWorks2016 obnovené do místní instance SQL Server 2016 (nebo novější) do jednoúčelové databáze nebo databáze ve fondu ve Azure SQL Database pomocí Azure Database Migration Service.

V tomto kurzu se naučíte:

  • Pomocí Data Migration Assistant vyhodnoťte a vyhodnoťte, jestli vaše místní databáze nedochází k blokování problémů.
  • K migraci ukázkového schématu databáze použijte Data Migration Assistant.
  • Zaregistrujte poskytovatele prostředků Azure DataMigration.
  • Vytvořte instanci služby Azure Database Migration Service.
  • Vytvořte projekt migrace pomocí 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 Server.

  • Vytvořte databázi ve službě Azure SQL Database, což provedete podle podrobností v článku Vytvoření databáze ve službě Azure SQL Database pomocí 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 SSIS (SQL Server Integration Services) a chcete migrovat databázi katalogu pro vaše projekty nebo balíčky SSIS (SSISDB) z SQL Server do Azure SQL Database, při zřizování služby SSIS v Azure Data Factory (ADF) se cílová databáze SSISDB automaticky vytvoří a spravuje vaším jménem. Další informace o migraci balíčků SSIS najdete v článku Migrace balíčků SQL Server Integration Services do Azure.

  • Stáhněte a nainstalujte nejnovější verzi Data Migration Assistant.

  • Vytvořte Virtual Network Microsoft Azure pro Azure Database Migration Service pomocí modelu nasazení Azure Resource Manager, který poskytuje připojení site-to-site k místním zdrojovým serverům pomocí ExpressRoute nebo VPN. Další informace o vytvoření virtuální sítě najdete v dokumentaci k Virtual Network a zejména v článcích Rychlý start s podrobnými podrobnostmi.

    Poznámka

    Pokud během instalace virtuální sítě používáte ExpressRoute se síťovým peeringem s Microsoftem, přidejte do podsítě, ve které se služba zřídí, 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í site-to-site mezi místní sítí a Azure nebo pokud je omezená šířka pásma připojení typu site-to-site, zvažte použití Azure Database Migration Service v hybridním režimu (Preview). Hybridní režim využívá místního pracovního procesu migrace společně s instancí Azure Database Migration Service běžící v cloudu. Pokud chcete vytvořit instanci Azure Database Migration Service v hybridním režimu, přečtěte si článek Vytvoření instance Azure Database Migration Service v hybridním režimu pomocí Azure Portal.

  • Ujistěte se, že odchozí pravidla zabezpečení skupiny zabezpečení vaší virtuální sítě neblokují odchozí port 443 značky služby 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 Windows Firewall a povolte Azure Database Migration Service přístup ke zdrojovému SQL Server, což je ve výchozím nastavení port TCP 1433. Pokud vaše výchozí instance naslouchá na jiném portu, přidejte ho do brány firewall.

  • Pokud používáte více pojmenovaných instancí SQL Server 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 Azure Database Migration Service mohli připojit k pojmenované instanci na zdrojovém serveru.

  • Pokud před zdrojovými databázemi používáte zařízení brány firewall, možná budete muset přidat pravidla brány firewall, která Azure Database Migration Service umožní přístup ke zdrojovým databázím za účelem migrace.

  • Vytvořte pravidlo firewallu protokolu IP na úrovni serveru pro Azure SQL Database, které Azure Database Migration Service umožní přístup k cílovým databázím. Zadejte rozsah podsítě virtuální sítě používané pro 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 Azure SQL Database mají u cílových databází oprávnění CONTROL DATABASE.

    Důležité

    Vytvoření instance 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, vyžaduje oprávnění na úrovni předplatného. Pokud chcete vytvořit požadované role, které můžete podle potřeby přiřadit, 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 Server do izolované databáze nebo databáze ve fondu ve službě Azure SQL Database, musíte u SQL Server databáze posoudit všechny blokující problémy, které by mohly migraci bránit. Pomocí Data Migration Assistant dokončete posouzení místní databáze podle kroků popsaných v článku Provedení posouzení SQL Server migrace. Následuje souhrn požadovaných kroků:

  1. V Data Migration Assistant vyberte ikonu Nový (+) a pak vyberte typ projektu Hodnocení.

  2. 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 Databáze a pak výběrem možnosti Vytvořit vytvořte projekt.

    Při posuzování zdrojové SQL Server databáze migrované do jednoúčelové databáze nebo databáze ve fondu ve službě Azure SQL Database můžete zvolit jeden nebo oba z následujících typů sestav posouzení:

    • Kontrola kompatibility databáze
    • Kontrola parity funkcí

    Ve výchozím nastavení jsou vybrané oba typy sestavy.

  3. V nástroji Data Migration Assistant na obrazovce Možnosti vyberte Další.

  4. 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.

  5. V dialogovém okně Přidat zdroje vyberte AdventureWorks2016, vyberte Přidat a pak vyberte Spustit hodnocení.

    Poznámka

    Pokud používáte službu SSIS, DMA aktuálně nepodporuje posouzení zdrojové databáze SSISDB. Projekty nebo balíčky SSIS se ale budou vyhodnocovat a ověřovat při 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ů 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:

    Posouzení migrace dat

    U databází ve službě Azure SQL Database posouzení identifikují problémy s paritou funkcí a blokující problémy s migrací při 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 označuje částečně podporované nebo nepodporované funkce, které odrážejí problémy s kompatibilitou, které můžou blokovat migraci SQL Server databází na Azure SQL Database. K dispozici jsou také doporučení, která vám pomůžou tyto problémy vyřešit.
  6. 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 s posouzením spokojeni a budete spokojeni s tím, že vybraná databáze je životaschopným kandidátem na migraci na jednoúčelovou databázi nebo databázi ve fondu ve službě Azure SQL Database, pomocí DMA migrujte schéma do Azure SQL Database.

Poznámka

Před vytvořením projektu migrace v Data Migration Assistant se ujistěte, že jste již zřídili databázi v Azure, jak je uvedeno v požadavcích.

Důležité

Pokud používáte službu SSIS, DMA aktuálně 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ů SQL Server Integration Services do Azure.

Pokud chcete migrovat schéma AdventureWorks2016 do jednoúčelové databáze nebo databáze ve fondu Azure SQL Database, proveďte následující kroky:

  1. V nástroji Data Migration Assistant vyberte ikonu Nový (+) a pak v části Typ projektu vyberte Migrace.

  2. 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.

  3. 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:

    Vytvoření projektu nástroje Data Migration Assistant

  4. Vyberte Vytvořit a vytvořte projekt.

  5. V Data Migration Assistant zadejte podrobnosti o zdrojovém připojení pro váš SQL Server, vyberte Připojit a pak vyberte databázi AdventureWorks2016.

    Podrobnosti o připojení ke zdroji v nástroji Data Migration Assistant

  6. Vyberte Další, v části Připojit k cílovému serveru zadejte podrobnosti o cílovém připojení pro Azure SQL Database, vyberte Připojit a pak vyberte databázi AdventureWorksAzure, kterou jste předem zřídili v Azure SQL Database.

    Podrobnosti o připojení k cíli v nástroji Data Migration Assistant

  7. Výběrem možnosti Další přejděte na obrazovku Vybrat objekty, na které můžete zadat objekty schématu v databázi AdventureWorks2016, které je potřeba nasadit do Azure SQL Database.

    Ve výchozím nastavení jsou vybrané všechny objekty.

    Generování skriptů SQL

  8. Výběrem možnosti Vygenerovat skript SQL vytvořte skripty SQL a pak zkontrolujte, jestli skripty neobsahují chyby.

    Skript schématu

  9. 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.

    Nasazení schématu

Registrace poskytovatele prostředků

Než vytvoříte první instanci služby Database Migration Service, zaregistrujte poskytovatele prostředků Microsoft.DataMigration.

  1. Přihlaste se k webu Azure Portal. Vyhledejte a vyberte Předplatná.

    Zobrazení předplatných na portálu

  2. Vyberte předplatné, ve kterém chcete vytvořit instanci Azure Database Migration Service, a pak vyberte Poskytovatelé prostředků.

    Zobrazení poskytovatelů prostředků

  3. Vyhledejte migraci a pak vyberte Zaregistrovat pro Microsoft.DataMigration.

    Registrace poskytovatele prostředků

Vytvoření instance služby Azure Database Migration Service

  1. V nabídce Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek. Vyhledejte a vyberte Azure Database Migration Service.

    Azure Marketplace

  2. Na obrazovce Azure Database Migration Service vyberte Vytvořit.

    Vytvoření instance služby Azure Database Migration Service

    Vyberte odpovídající typ zdrojového serveru a Typ cílového serveru a zvolte možnost Database Migration Service (Classic).

    Výběr Database Migration Service (klasického) scénáře

  3. 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 Azure Database Migration Service.
    • Vyberte umístění, ve kterém chcete vytvořit instanci 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.

    Konfigurace základního nastavení instance Azure Database Migration Service

    • Až skončíte, vyberte Další: Sítě.
  4. Na obrazovce Vytvořit síť služby Migration Service :

    • Vyberte existující virtuální síť nebo vytvořte novou. Virtuální síť poskytuje Azure Database Migration Service přístup ke zdrojovému serveru a cílové instanci. Další informace o vytvoření virtuální sítě v Azure Portal najdete v článku Vytvoření virtuální sítě pomocí Azure Portal.

    Konfigurace nastavení sítě instance Azure Database Migration Service

    • Vyberte Zkontrolovat a vytvořit a zkontrolujte podrobnosti a pak vyberte Vytvořit a vytvořte službu.

    • Po chvíli se vaše instance služby Azure Database Migration Service vytvoří a je připravená k použití:

    Vytvořená služba Migration Service

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.

  1. V nabídce Azure Portal vyberte Všechny služby. Vyhledejte a vyberte Azure Database Migration Services.

    Vyhledání všech instancí Azure Database Migration Service

  2. Na obrazovce Azure Database Migration Services vyberte instanci Azure Database Migration Service, kterou jste vytvořili.

  3. Vyberte Nový projekt migrace.

    Vyhledání instance Azure Database Migration Service

  4. 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 Databáze a pak v části Zvolit typ aktivity migrace vyberte Migrace dat.

    Vytvoření projektu Database Migration Service

  5. Vyberte Vytvořit a spustit aktivitu a vytvořte projekt a spusťte aktivitu migrace.

Zadání podrobností o zdroji

  1. Na obrazovce Vybrat zdroj zadejte podrobnosti o připojení ke zdrojové instanci SQL Server.

    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.

  2. 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. V produkčním prostředí nebo na serverech připojených k internetu byste neměli spoléhat na protokol TLS s využitím certifikátů podepsaných svým držitelem.

    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ů SQL Server Integration Services do Azure.

    Podrobnosti o zdroji

  3. Vyberte Další: Vybrat databáze.

Výběr databází pro migraci

Vyberte buď všechny databáze, nebo konkrétní databáze, které chcete migrovat do Azure SQL Database. DMS poskytuje očekávanou dobu migrace vybraných databází. Pokud jsou výpadky migrace přijatelné, pokračujte v migraci. Pokud výpadek migrace není přijatelný, zvažte migraci na SQL Managed Instance s téměř nulovými výpadky nebo odešlete nápady, návrhy na zlepšení a další zpětnou vazbu ve fóru komunity Azure – Azure Database Migration Service.

  1. Ze seznamu dostupných databází vyberte databáze, které chcete migrovat.

  2. Zkontrolujte očekávaný výpadek. Pokud je to přijatelné, vyberte Další: Vybrat cíl>>.

    Zdrojové databáze

Zadání podrobností o cíli

  1. Na obrazovce Vybrat cíl zadejte nastavení ověřování pro Azure SQL Database.

    Vybrat cíl

    Poznámka

    V současné době je ověřování SQL jediným podporovaným typem ověřování.

  2. Vyberte obrazovku Další: Mapovat na cílové databáze a namapujte zdroj a cílovou databázi pro migraci.

    Pokud cílová databáze obsahuje stejný název databáze jako zdrojová databáze, Azure Database Migration Service ve výchozím nastavení vybere cílovou databázi.

    Mapování na cílové databáze

  3. Vyberte Další: Nastavení migrace konfigurace, rozbalte seznam tabulek a zkontrolujte seznam ovlivněných polí.

    Azure Database Migration Service automaticky vybere všechny prázdné zdrojové tabulky, které existují v cílové instanci Azure SQL Database. Pokud chcete znovu migrovat tabulky, které již obsahují data, musíte tabulky explicitně vybrat v tomto okně.

    Výběr tabulek

  4. Vyberte Další: Souhrn, zkontrolujte konfiguraci migrace a do textového pole Název aktivity zadejte název aktivity migrace.

    Výběr možnosti ověřování

Spuštění migrace

  • Vyberte Spustit migraci.

    Zobrazí se okno aktivity migrace a Stav aktivity bude Probíhající.

    Stav aktivity

Monitorování migrace

  1. Na obrazovce aktivity migrace vyberte Aktualizovat a aktualizujte zobrazení, dokud se Stav migrace nezmění na Dokončeno.

    Stav aktivity – Dokončeno

  2. Ověřte cílové databáze v cílové databázi Azure SQL.

Další materiály