Adatbázisok nagy léptékű migrálása automatizálással (előzetes verzió)

Az Azure Data Studio Azure SQL Migration bővítménye egy egyszerűsített felmérési, javaslat- és migrálási felületet biztosít, amely a következő képességeket biztosítja:

  • A továbbfejlesztett értékelési mechanizmus kiértékeli az SQL Server-példányokat, és azonosítja a különböző Azure SQL-célokra való migrálásra kész adatbázisokat.
  • Egy termékváltozat-javaslatmotor (előzetes verzió), amely a helyszíni FORRÁS SQL Server-példány teljesítményadatait gyűjti össze, és az Azure SQL-cél alapján megfelelő méretű termékváltozat-javaslatokat hoz létre.
  • Az Azure Database Migration Service által üzemeltetett megbízható Azure-szolgáltatás, amely az adatáthelyezési tevékenységeket vezényli a zökkenőmentes migrálási élmény érdekében.
  • Az üzleti követelményeknek megfelelő online (minimális állásidőt igénylő migrálások esetén) vagy offline (olyan áttelepítések esetén, ahol az állásidő a migrálás során is fennáll) migrálási módokat is képes futtatni.
  • Rugalmasan hozhat létre és konfigurálhat egy saját üzemeltetésű integrációs futtatókörnyezetet, hogy saját számítást biztosítson a forrás SQL Server eléréséhez és a helyszíni környezet biztonsági másolataihoz.

Az olyan automatizálási eszközökkel, mint a PowerShell – Azure DataMigration Service modul vagy az Azure CLI, az Azure SQL Migration bővítmény és az Azure Database Migration Service funkcióit alkalmazhatja egy vagy több adatbázis nagy léptékű migrálásához (beleértve a több SQL Server-példányon futó adatbázisokat is).

A következő példaszkriptekre az Azure PowerShell vagy az Azure CLI használatával hivatkozhat a migrálási forgatókönyvnek megfelelően:

Migrálási forgatókönyv Szkriptnyelv
SQL Server-értékelés PowerShell / Azure CLI
SQL Server–Felügyelt Azure SQL-példány (fájlmegosztás használatával) PowerShell / Azure CLI
SQL Server–Felügyelt Azure SQL-példány (az Azure Storage használatával) PowerShell / Azure CLI
SQL Server–SQL Server azure-beli virtuális gépeken (fájlmegosztás használatával) PowerShell / Azure CLI
SQL Server–SQL Server azure-beli virtuális gépeken (az Azure Storage használatával) PowerShell / Azure CLI
SQL Server–Azure SQL Database PowerShell / Azure CLI
Termékváltozatra vonatkozó javaslatok (előzetes verzió) PowerShell / Azure CLI
Végpontok közötti migrálás automatizálása PowerShell / Azure CLI
Végpontok közötti migrálás automatizálása több adatbázishoz PowerShell / Azure CLI

Előfeltételek

Az Azure PowerShell vagy az Azure CLI használatával az összes támogatott migrálási forgatókönyvben gyakori előfeltételek a következők:

  • Rendelkezik egy Azure-fiókkal, amely az alábbi beépített szerepkörök egyikéhez van hozzárendelve:

    • A felügyelt Azure SQL-példány, az Azure-beli virtuális gépeken vagy az Azure SQL Database-en futó SQL Server és a Storage-fiók közreműködője az adatbázis biztonsági mentési fájljainak SMB hálózati megosztásból való feltöltéséhez (az Azure SQL Database-hez nem alkalmazható).
    • Olvasói szerepkör a felügyelt Azure SQL-példányt, az Azure-beli virtuális gépeken futó SQL Servert vagy az Azure SQL Database-t tartalmazó Azure-erőforráscsoportokhoz.
    • Tulajdonos vagy Közreműködő szerepkör az Azure-előfizetéshez.

    Fontos

    Az Azure-fiók csak a migrálási lépések futtatásakor szükséges, és nem szükséges az értékeléshez vagy az Azure javaslati lépéseihez.

  • Felügyelt Azure SQL-példány, SQL Server létrehozása azure-beli virtuális gépen vagy Azure SQL Database-ben

    Fontos

    Ha a cél az Azure SQL Database, az adatbázissémát a forrásból a célba kell migrálnia az SQL Server dacpac bővítmény vagy az Azure Data Studio SQL Database Projects bővítményével .

    Ha már rendelkezik Azure-beli virtuális géppel, akkor az SQL IaaS-ügynök bővítményével kell regisztrálnia teljes felügyeleti módban.

  • Ha a cél azure SQL Managed Instance vagy SQL Server az Azure Virtual Machine-on , győződjön meg arról, hogy a forrás SQL Server csatlakoztatásához használt bejelentkezések a sysadmin kiszolgálói szerepkör tagjai, vagy rendelkeznek CONTROL SERVER engedéllyel.

  • Ha a cél az Azure SQL Database, győződjön meg arról, hogy a forrás SQL Server csatlakoztatásához használt bejelentkezés tag, és a db_datareader cél SQL Server bejelentkezése.db_owner

  • Használja az alábbi tárolási lehetőségek egyikét a teljes adatbázis- és tranzakciónapló biztonsági mentési fájljaihoz:

    • SMB hálózati megosztás
    • Azure Storage-fiók fájlmegosztása vagy blobtárolója

    Fontos

    • Ha az adatbázis biztonsági mentési fájljai egy SMB hálózati megosztásban vannak megadva, hozzon létre egy Azure Storage-fiókot, amely lehetővé teszi a DMS szolgáltatás számára az adatbázis biztonsági mentési fájljainak feltöltését. Győződjön meg arról, hogy az Azure Storage-fiókot ugyanabban a régióban hozza létre, mint az Azure Database Migration Service-példány.
    • Győződjön meg arról, hogy az Azure Storage-fiók blobtárolója kizárólag biztonsági mentési fájlok tárolására szolgál. Bármilyen más típusú fájl (txt, png, jpg stb.) zavarja a visszaállítási folyamatot, ami hibához vezet.
    • Az Azure Database Migration Service nem kezdeményez biztonsági mentéseket, és ehelyett meglévő biztonsági másolatokat használ, amelyek a vészhelyreállítási terv részeként már rendelkezhetnek a migráláshoz.
    • Each backup can be written to either a separate backup file or multiple backup files. Ugyanakkor nem támogatott több biztonsági másolat (pl. teljes és tranzakciós naplók) összefűzése egyetlen biztonsági mentési adathordozóra.
    • Tömörített biztonsági másolatok használatával csökkentheti a nagy méretű biztonsági másolatok migrálásával kapcsolatos lehetséges problémák előfordulásának valószínűségét.
  • Győződjön meg arról, hogy a forrás SQL Server-példányt futtató szolgáltatásfiók olvasási és írási engedélyekkel rendelkezik az adatbázis biztonsági mentési fájljait tartalmazó SMB hálózati megosztáson.

  • A transzparens adattitkosítás (TDE) által védett adatbázisból származó forrás SQL Server-példánytanúsítványt az adatok migrálása előtt át kell telepíteni a felügyelt Azure SQL-példányra vagy az Azure-beli virtuális gépen futó SQL Serverre. További információ a TDE-kompatibilis adatbázisok migrálásáról: Oktatóanyag: TDE-kompatibilis adatbázisok migrálása (előzetes verzió) az Azure SQL-be az Azure Data Studióban.

    Tipp.

    Ha az adatbázis az Always Encrypted által védett bizalmas adatokat tartalmaz, az Azure Data Studio DMS-sel történő migrálási folyamata automatikusan migrálja az Always Encrypted-kulcsokat a cél Azure SQL Managed Instance-példányra vagy az Azure Virtual Machine-beli SQL Serverre.

  • Ha az adatbázis biztonsági másolatai hálózati fájlmegosztásban találhatók, adjon meg egy gépet, amely telepíti a saját üzemeltetésű integrációs modult az adatbázis biztonsági másolatainak eléréséhez és áttelepítéséhez. Az Azure PowerShell- vagy Azure CLI-modulok biztosítják a saját üzemeltetésű integrációs modul regisztrálásához szükséges hitelesítési kulcsokat. A migrálás előkészítésekor győződjön meg arról, hogy a saját üzemeltetésű integrációs modult telepíteni kívánt gépen engedélyezve vannak a következő kimenő tűzfalszabályok és tartománynevek:

    Tartománynevek Kimenő portok Leírás
    Nyilvános felhő: {datafactory}.{region}.datafactory.azure.net
    or *.frontend.clouddatahub.net
    Azure Government: {datafactory}.{region}.datafactory.azure.us
    Kína: {datafactory}.{region}.datafactory.azure.cn
    443 A saját üzemeltetésű integrációs modul szükséges a Data Migration szolgáltatáshoz való csatlakozáshoz.
    A nyilvános felhőben létrehozott új Data Factory esetében keresse meg a teljes tartománynevet a saját üzemeltetésű integrációs modul kulcsából, amely formátuma {datafactory}.{region}.datafactory.azure.net. A régi Data Factory esetében, ha nem látja a teljes tartománynevet a saját üzemeltetésű integrációs kulcsban, használja helyette a *.frontend.clouddatahub.net.
    download.microsoft.com 443 A frissítések letöltéséhez a saját üzemeltetésű integrációs modul szükséges. Ha letiltotta az automatikus frissítést, kihagyhatja a tartomány konfigurálását.
    *.core.windows.net 443 A saját üzemeltetésű integrációs modul használja, amely az Azure Storage-fiókhoz csatlakozik adatbázis-biztonsági mentések feltöltéséhez a hálózati megosztásból

    Tipp.

    Ha az adatbázis biztonsági mentési fájljai már meg vannak adva egy Azure Storage-fiókban, a migrálási folyamat során nincs szükség saját üzemeltetésű integrációs modulra.

  • Saját üzemeltetésű integrációs modul használata esetén győződjön meg arról, hogy a futtatókörnyezetet futtató gép csatlakozni tud a forrás SQL Server-példányhoz és a biztonsági mentési fájlokat tároló hálózati fájlmegosztáshoz.

  • A hálózati fájlmegosztás eléréséhez engedélyezni kell a 445-ös kimenő portot.

  • Ha első alkalommal használja az Azure Database Migration Service-t, győződjön meg arról, hogy a Microsoft.DataMigration erőforrás-szolgáltató regisztrálva van az előfizetésében. Az erőforrás-szolgáltató regisztrálásához kövesse az alábbi lépéseket

    Fontos

    Ha a migrálási cél az Azure SQL Database, nincs szükség biztonsági másolatokra az áttelepítés végrehajtásához. Az Azure SQL Database-be való migrálás logikai migrálásnak minősül, amely magában foglalja az adatbázis előzetes létrehozását és adatáthelyezését (amelyet a DMS végez).

Adatbázis-migrálás automatizálása

Az Azure PowerShell Az.DataMigration vagy az Azure CLI az datamigration használatával adatbázisokat migrálhat az Azure Database Migration Service létrehozásának automatizálásával, az adatbázis-migrálás online migráláshoz való konfigurálásával és az átállás végrehajtásával. Az Azure-mintákban számos további parancs és funkció van dokumentálva.

Példa egy SQL Server-adatbázis migrálásának automatizálására az Azure CLI használatával: 1. lépés: Az Azure Database Migration Service létrehozása, amely összehangolja az adatbázis migrálási tevékenységeit.

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

2. lépés: Online adatbázis-migrálás konfigurálása és elindítása a helyszíni SQL Serverről (az Azure Storage-beli biztonsági másolatokkal) a felügyelt Azure SQL-példányra.

#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

3. lépés: Migrálási átállás végrehajtása, miután az összes biztonsági mentést visszaállította a felügyelt Azure SQL-példányra.

#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

Ha a következő hibaüzenetet kapja: "Az előfizetés nincs regisztrálva a "Microsoft.DataMigration" névtér használatához. Tekintse meg https://aka.ms/rps-not-found , hogyan regisztrálhat előfizetéseket", futtassa a következő parancsot:

   Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"

Következő lépések