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.
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
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
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, hanem 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.
Minden biztonsági mentés egy különálló vagy több biztonságimásolat-fájlba írható. A több biztonsági mentés (azaz a teljes és a t-log) egyetlen biztonsági mentési adathordozóhoz való hozzáfűzése azonban nem támogatott.
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
vagy*.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 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 nem szükséges a saját üzemeltetésű integrációs modul.
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
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"