Sdílet prostřednictvím


Migrace databází ve velkém měřítku pomocí automatizace (Preview)

Rozšíření Azure SQL Migration pro Azure Data Studio spojuje zjednodušené prostředí pro posouzení, doporučení a migraci, které nabízí následující funkce:

  • Vylepšený mechanismus posouzení může vyhodnotit instance SQL Serveru a identifikovat databáze připravené k migraci do různých cílů Azure SQL.

  • Modul doporučení skladové položky (Preview), který shromažďuje data o výkonu ze zdrojové místní instance SQL Serveru a generuje doporučení skladové položky správné velikosti na základě cíle Azure SQL.

  • Spolehlivá služba Azure založená na službě Azure Database Migration Service, která orchestruje aktivity přesunu dat za účelem zajištění bezproblémového prostředí migrace.

  • Možnost spouštět online (pro migrace vyžadující minimální prostoje) nebo offline režimy migrace (pro migrace, kde prostoje přes migraci trvá) tak, aby vyhovovaly vašim obchodním požadavkům.

  • Flexibilita při vytváření a konfiguraci místního prostředí Integration Runtime tak, aby poskytovala vlastní výpočetní prostředky pro přístup ke zdrojovému SQL Serveru a zálohám ve vašem místním prostředí.

Pomocí automatizačních nástrojů, jako je PowerShell – Modul služby Azure DataMigration nebo Azure CLI, můžete použít funkce rozšíření Azure SQL Migration Service společně se službou Azure Database Migration Service a migrovat jednu nebo více databází ve velkém měřítku (včetně databází napříč několika instancemi SQL Serveru).

Na následující ukázkové skripty můžete odkazovat tak, aby vyhovovaly vašemu scénáři migrace pomocí Azure PowerShellu nebo Azure CLI:

Scénář migrace Skriptovací jazyk
Posouzení SQL Serveru PowerShell / Azure CLI
SQL Server do azure SQL Managed Instance (pomocí sdílené složky) PowerShell / Azure CLI
SQL Server do služby Azure SQL Managed Instance (pomocí úložiště Azure) PowerShell / Azure CLI
SQL Server na SQL Server na virtuálních počítačích Azure (pomocí sdílené složky) PowerShell / Azure CLI
SQL Server na SQL Server na virtuálních počítačích Azure (pomocí Azure Storage) PowerShell / Azure CLI
SQL Server do Azure SQL Database PowerShell / Azure CLI
Doporučení skladové položky (Preview) PowerShell / Azure CLI
Kompletní automatizace migrace PowerShell / Azure CLI
Kompletní automatizace migrace pro více databází PowerShell / Azure CLI

Požadavky

Mezi běžné předpoklady pro všechny podporované scénáře migrace pomocí Azure PowerShellu nebo Azure CLI patří:

  • Máte účet Azure, který je přiřazený k některé z předdefinovaných rolí uvedených níže:

    • Přispěvatel pro cílovou spravovanou instanci Azure SQL, SQL Server na virtuálních počítačích Azure nebo Azure SQL Database a účet úložiště pro nahrání záložních souborů databáze ze sdílené síťové složky SMB (neplatí pro Azure SQL Database).

    • Role čtenáře pro skupiny prostředků Azure obsahující cílovou spravovanou instanci Azure SQL, SQL Server ve službě Azure Virtual Machines nebo Azure SQL Database

    • Role vlastníka nebo přispěvatele pro předplatné Azure.

    Účet Azure se vyžaduje jenom při spuštění kroků migrace a nevyžaduje se pro proces posouzení nebo kroků doporučení Azure.

  • Vytvoření cílové spravované instance Azure SQL, SQL Serveru na virtuálním počítači Azure nebo Azure SQL Database

    Pokud je vaším cílem Azure SQL Database, musíte migrovat schéma databáze ze zdroje do cíle pomocí rozšíření dacpac SQL Serveru nebo rozšíření SQL Database Projects pro Azure Data Studio.

    Pokud máte existující virtuální počítač Azure, měl by být zaregistrovaný v rozšíření agenta SQL IaaS v režimu úplné správy.

  • Pokud je vaším cílem Služba Azure SQL Managed Instance nebo SQL Server na virtuálním počítači Azure, ujistěte se, že přihlášení použitá k připojení zdrojového SQL Serveru jsou členy role serveru sysadmin nebo mají CONTROL SERVER oprávnění.

  • Pokud je vaším cílem Azure SQL Database, ujistěte se, že je přihlášení použité k připojení zdrojového SQL Serveru členem a že je přihlašovací jméno db_datareader cílového SQL serveru db_owner.

  • Pro úplné soubory zálohování databáze a transakčních protokolů použijte jednu z následujících možností úložiště:

    • Sdílená složka sítě SMB

    • Sdílená složka účtu úložiště Azure nebo kontejner objektů blob

      • Pokud jsou záložní soubory databáze k dispozici ve sdílené síťové složce SMB, vytvořte účet úložiště Azure, který službě DMS umožňuje nahrát záložní soubory databáze. Nezapomeňte vytvořit účet služby Azure Storage ve stejné oblasti jako instance služby Azure Database Migration Service.

      • Ujistěte se, že se kontejner objektů blob účtu úložiště Azure používá výhradně k ukládání záložních souborů. Jakýkoli jiný typ souborů (txt, png, jpg atd.) bude kolidovat s procesem obnovení, který vede k selhání.

      • Azure Database Migration Service neicializuje žádné zálohy a místo toho pro migraci používá existující zálohy, které už možná máte jako součást plánu zotavení po havárii.

      • Každou zálohu je možné zapsat do samostatného záložního souboru nebo do několika záložních souborů. Připojení více záloh (tj. úplné a nepřihlácené) do jednoho záložního média se ale nepodporuje.

      • Pomocí komprimovaných záloh můžete snížit pravděpodobnost výskytu potenciálních problémů souvisejících s migrací velkých záloh.

  • Ujistěte se, že účet služby, na kterém je spuštěná zdrojová instance SQL Serveru, má oprávnění ke čtení a zápisu ve sdílené síťové složce SMB, která obsahuje záložní soubory databáze.

  • Zdrojový certifikát instance SQL Serveru z databáze chráněné službou transparentní šifrování dat (TDE) musí být před migrací dat migrován na cílovou spravovanou instanci Azure SQL nebo SQL Server na virtuálním počítači Azure. Další informace o migraci databází s povoleným transparentním šifrováním dat najdete v tématu Kurz: Migrace databází s povoleným transparentním šifrováním dat (Preview) do Azure SQL v nástroji Azure Data Studio.

    Tip

    Pokud vaše databáze obsahuje citlivá data chráněná funkcí Always Encrypted, proces migrace pomocí nástroje Azure Data Studio s DMS automaticky migruje vaše klíče Always Encrypted do cílové spravované instance Azure SQL nebo SQL Serveru na virtuálním počítači Azure.

  • Pokud jsou zálohy databáze v síťové sdílené složce, poskytněte počítač pro instalaci místního prostředí Integration Runtime pro přístup k zálohám databáze a jejich migraci. Moduly Azure PowerShellu nebo Azure CLI poskytují ověřovací klíče pro registraci místního prostředí Integration Runtime. Při přípravě na migraci se ujistěte, že počítač, ve kterém plánujete nainstalovat místní prostředí Integration Runtime, má povolené následující odchozí pravidla brány firewall a názvy domén:

    Názvy domén Odchozí porty Popis
    Veřejný cloud: {datafactory}.{region}.datafactory.azure.net
    nebo *.frontend.clouddatahub.net
    Azure Government: {datafactory}.{region}.datafactory.azure.us
    Čína: {datafactory}.{region}.datafactory.azure.cn
    443 Vyžaduje místní prostředí Integration Runtime pro připojení ke službě Data Migration Service.
    V případě nové vytvořené služby Data Factory ve veřejném cloudu vyhledejte plně kvalifikovaný název domény z klíče místního prostředí Integration Runtime, který je ve formátu {datafactory}.{region}.datafactory.azure.net. Pokud v původní službě Data Factory nevidíte plně kvalifikovaný název domény v klíči integrace v místním prostředí, použijte místo toho *.frontend.clouddatahub.net.
    download.microsoft.com 443 Ke stažení aktualizací vyžaduje místní prostředí Integration Runtime. Pokud jste zakázali automatickou aktualizaci, můžete přeskočit konfiguraci této domény.
    *.core.windows.net 443 Používá se místním prostředím Integration Runtime, které se připojuje k účtu úložiště Azure pro nahrávání záloh databází ze sdílené síťové složky.

    Pokud už jsou vaše záložní soubory databáze k dispozici v účtu úložiště Azure, místní prostředí Integration Runtime se během procesu migrace nevyžaduje.

  • Při použití místního prostředí Integration Runtime se ujistěte, že se počítač, na kterém je modul runtime nainstalovaný, může připojit ke zdrojové instanci SQL Serveru a ke sdílené síťové složce, ve které se nacházejí záložní soubory.

  • Pro přístup ke sdílené síťové složce by měl být povolený odchozí port 445.

  • Pokud službu Azure Database Migration Service používáte poprvé, ujistěte se, že je ve vašem předplatném zaregistrovaný poskytovatel prostředků Microsoft.DataMigration. Podle kroků můžete zaregistrovat poskytovatele prostředků.

    Pokud je vaším cílem migrace Azure SQL Database, k provedení této migrace nepotřebujete zálohy. Migrace do služby Azure SQL Database se považuje za logickou migraci zahrnující předběžné vytvoření a přesun dat databáze (prováděné DMS).

Automatizace migrací databází

Pomocí Az.DataMigration azure PowerShellu nebo Azure CLI az datamigration můžete migrovat databáze automatizací vytváření služby Azure Database Migration Service, konfigurací migrací databází pro online migraci a provedením přímé migrace. V ukázkách Azure je uvedeno několik dalších příkazů a funkcí.

Příklad automatizace migrace databáze SQL Serveru pomocí Azure CLI: Krok 1: Vytvoření služby Azure Database Migration Service, která bude orchestrovat aktivity migrace databáze.

#STEP 1: Create Database Migration Service
az datamigration sql-service create --resource-group "myRG" --sql-migration-service-name "myMigrationService" --location "EastUS2"

Krok 2: Konfigurace a spuštění online migrace databází z místního SQL Serveru (se zálohováním v úložišti Azure) do azure SQL Managed Instance

#STEP 2: Start Migration
az datamigration sql-managed-instance create `
--source-location '{\"AzureBlob\":{\"storageAccountResourceId\":\"/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Storage/storageAccounts/dbbackupssqlbits\",\"accountKey\":\"myAccountKey\",\"blobContainerName\":\"dbbackups\"}}' `
--migration-service "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.DataMigration/SqlMigrationServices/myMigrationService" `
--scope "/subscriptions/mySubscriptionID/resourceGroups/myRG/providers/Microsoft.Sql/managedInstances/mySQLMI" `
--source-database-name "AdventureWorks2008" `
--source-sql-connection authentication="SqlAuthentication" data-source="mySQLServer" password="myPassword" user-name="sqluser" `
--target-db-name "AdventureWorks2008" `
--resource-group myRG `
--managed-instance-name mySQLMI

Krok 3: Provedení přímé migrace po obnovení všech záloh do azure SQL Managed Instance

#STEP 3: Get migration ID and perform Cutover
$migOpId = az datamigration sql-managed-instance show --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --expand=MigrationStatusDetails --query "properties.migrationOperationId"
az datamigration sql-managed-instance cutover --managed-instance-name "mySQLMI" --resource-group "myRG" --target-db-name "AdventureWorks2008" --migration-operation-id $migOpId

Pokud se zobrazí chyba Předplatné není zaregistrované pro použití oboru názvů Microsoft.DataMigration. Podívejte https://aka.ms/rps-not-found se, jak zaregistrovat předplatná, spusťte následující příkaz:

Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"