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ů:

  1. V nástroji Data Migration Assistant vyberte ikonu Nový (+) a pak vyberte typ projektu Posouzení.

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

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

    Assess data migration

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

  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:

    Create Data Migration Assistant Project

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

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

    Data Migration Assistant Source Connection Details

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

    Data Migration Assistant Target Connection Details

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

    Generate SQL Scripts

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

    Schema Script

  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.

    Deploy Schema

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 portálu Azure. Vyhledejte a vyberte Předplatná.

    Show portal subscriptions

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

    Show resource providers

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

    Register resource provider

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

  1. V nabídce webu 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.

    Create Azure Database Migration Service instance

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

    Select Database Migration Service (Classic) scenario

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

    Configure Azure Database Migration Service instance basics settings

    • Vyberte Další: Sítě.
  4. 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.

    Configure Azure Database Migration Service instance networking settings

    • 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í:

    Migration service created

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 webu Azure Portal vyberte Všechny služby. Vyhledejte a vyberte Azure Database Migration Services.

    Locate all instances of Azure Database Migration Service

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

  3. Vyberte Nový projekt migrace.

    Locate your instance of 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 Database a pak jako typ aktivity Zvolit migraci vyberte Migraci dat.

    Create Database Migration Service Project

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

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

    Source Details

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

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

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

    Source databases

Zadání podrobností o cíli

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

    Select target

    Poznámka:

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

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

    Map to target databases

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

    Select tables

  4. Vyberte Další: Souhrn, zkontrolujte konfiguraci migrace a v textovém poli Název aktivity zadejte název aktivity migrace.

    Choose validation option

Spuštění migrace

  • Vyberte Zahájit migraci.

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

    Activity Status

Monitorování migrace

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

    Activity Status Completed

  2. Ověřte cílové databáze v cílové službě Azure SQL Database.

Další materiály