Kurz: Migrace SQL Server do Azure SQL Database pomocí DMS

Pomocí nástroje Azure Database Migration Service migrovat databáze z instance SQL Server do Azure SQL Database. V tomto kurzu migrujete databázi AdventureWorks2016 obnovenou do místní instance SQL Server 2016 (nebo novější) do jedné databáze nebo databáze ve fondu v Azure SQL Database pomocí Azure Database Migration Service.

V tomto kurzu se naučíte:

  • Vyhodnoťte případné blokující problémy s místní databází pomocí služby Data Pomocník s migrací.
  • K migraci ukázkového schématu Pomocník s migrací databázovou databázi použijte databázovou databázi.
  • 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 SQL Server instance.

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

  • Stáhněte a nainstalujte si nejnovější verzi služby Data Pomocník s migrací.

  • Vytvořte Microsoft Azure Virtual Network pro Azure Database Migration Service pomocí modelu nasazení Azure Resource Manager, který poskytuje připojení typu 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 článku Virtual Network azejména v článcích Rychlý start s podrobnými podrobnostmi.

    Poznámka

    Pokud při nastavování virtuální sítě používáte ExpressRoute s partnerským vztahem sítě s Microsoftem, přidejte následující koncové body služby do podsítě, ve které bude služba zřízená:

    • Cílový koncový bod databáze (například SQL koncový bod, Cosmos db a tak dále)
    • Storage koncový bod
    • 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 existuje omezená šířka pásma připojení site-to-site, zvažte použití Azure Database Migration Service v hybridním režimu (Preview). Hybridní režim využívá místní pracovní proces migrace společně s instancí Azure Database Migration Service spuštěnou v cloudu. Pokud chcete vytvořit instanci Azure Database Migration Service v hybridním režimu, podívejte se na článek Vytvoření instance Azure Database Migration Service v hybridnímrežimu pomocí Azure Portal .

  • Ujistěte se, že odchozí pravidla zabezpečení skupiny zabezpečení sítě vaší 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 Windows, aby 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 ji do brány firewall.

  • Pokud používáte několik 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 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á umožní Azure Database Migration Service přístup ke zdrojovým databázím pro migraci.

  • Vytvořte pravidlo brány firewall protokolu IP na úrovni serveru pro Azure SQL Database, které Azure Database Migration Service 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žívané pro připojení Azure SQL Database instanci mají oprávnění CONTROL DATABASE k cílovým databázím.

    Důležité

    Vytvoření instance instance Azure Database Migration Service přístup k nastavením virtuální sítě, která obvykle nejsou ve stejné skupině prostředků. V důsledku toho uživatel vytvářející instanci DMS vyžaduje 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 moci migrovat data z instance SQL Server do jedné databáze nebo databáze ve fondu v Azure SQL Database, musíte posoudit, jestli databáze SQL Server neblokuje všechny problémy, které by mohly migraci bránit. Při použití Pomocník s migrací dat postupujte podle kroků popsaných v článku SQL Server posouzení migrace dat a dokončete posouzení místní databáze. 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í migrace zdrojové databáze SQL Server do jedné databáze nebo databáze ve fondu v 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 posouzení.

    Poznámka

    Pokud používáte SSIS, DMA v současné době nepodporuje hodnocení zdrojové databáze SSISDB. Projekty nebo balíčky SSIS se ale po 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 SSIS 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í v Azure SQL Database posouzení identifikují problémy s paritou funkcí a blokují problémy s migrací při nasazování do jedné 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é můžou blokovat migraci SQL Server databází do 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 budete spokojeni s tím, že vybraná databáze je viable candidate pro migraci do jedné databáze nebo databáze ve fondu v Azure SQL Database, použijte DMA k migraci schématu do Azure SQL Database.

Poznámka

Před vytvořením projektu migrace v databázových Pomocník s migrací se ujistěte, že jste v Azure již zř vytvářli databázi, jak je uvedeno v požadavcích.

Důležité

Pokud používáte SSIS, 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é Azure SQL Database. Další informace o migraci balíčků SSIS najdete v článku Migrace balíčků služby SSIS SQL Server Integration Services do Azure.

Pokud chcete schéma AdventureWorks2016 migrovat do jedné 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 okně Pomocník s migrací zadejte podrobnosti o zdrojovém připojení pro váš SQL Server, vyberte Připojení a pak vyberte databázi AdventureWorks2016.

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

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

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

  7. Vyberte Další a přejdete 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ů Microsoft.DataMigration

  1. Přihlaste se k webu Azure Portal. Vyhledejte a vyberte odběry.

    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 migraci Microsoft. data.

    Registrace poskytovatele prostředků

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

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

  3. Na obrazovce základy Vytvoření služby Migration Service :

    • Vyberte předplatné.
    • Vytvořte novou skupinu prostředků nebo vyberte některou z existujících.
    • 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 vyberte Azure .
    • Vyberte cenovou úroveň. Další informace o nákladech a cenových úrovních najdete na stránce s cenami.

    Konfigurace nastavení základy instance Azure Database Migration Service

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

    • Vyberte existující virtuální síť nebo vytvořte novou. virtuální síť poskytuje Azure Database Migration Service s přístupem ke zdrojovému SQL Server a cílové instanci Azure SQL Database. Další informace o tom, jak vytvořit virtuální síť v Azure Portal, najdete v článku vytvoření virtuální sítě pomocí Azure Portal.

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

    • Výběrem Zobrazit a vytvořit zkontrolujte podrobnosti a pak vyberte vytvořit a vytvořte službu.

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 služby Azure Database Migration Services.

    Vyhledat všechny instance Azure Database Migration Service

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

  3. Vyberte nový Project migrace.

    Vyhledání vaší instance Azure Database Migration Service

  4. na obrazovce nový projekt migrace zadejte název projektu, v textovém poli typ zdrojového serveru vyberte možnost SQL Server, v textovém poli typ cílového serveru vyberte možnost Azure SQL Database a pak u možnosti zvolit typ aktivity migrace vyberte možnost 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í pro zdrojovou 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 zaš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 držitelem v produkčním prostředí nebo na serverech, které jsou připojené k Internetu.

    Důležité

    Pokud používáte SSIS, služba DMS v současné době nepodporuje migraci zdrojového SSISDB, ale můžete znovu nasadit své projekty a balíčky SSIS do cílového SSISDB hostovaného 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.

    Podrobnosti zdroje

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

Vybrat databáze pro migraci

Vyberte buď všechny databáze, nebo konkrétní databáze, které chcete migrovat na Azure SQL Database. DMS poskytuje očekávanou dobu migrace pro vybrané databáze. Pokud jsou v migraci přijatelné výpadky migrace, pokračujte v migraci. pokud se nejedná o nepřijatelné výpadky migrace, zvažte migraci na SQL spravovanou instanci s téměř nulovým výpadkem nebo se obraťte na tým DMS , kde najdete další možnosti.

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

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

    Zdrojové databáze

Zadání podrobností o cíli

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

    Výběr cíle

    Poznámka

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

  2. Vyberte možnost Další: namapovat na cílovou databázi, namapujte zdrojovou 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 tabulka a pak zkontrolujte seznam ovlivněných polí.

    Azure Database Migration Service automaticky vybere všechny prázdné zdrojové tabulky, které existují na cílové Azure SQL Database instanci. 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 v textovém poli 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 na cílovém Azure SQL Database.

Další zdroje informací