Sdílet prostřednictvím


Kurz: Migrace SQL Serveru do Azure SQL Database (offline)

Službu Azure Database Migration Service můžete použít prostřednictvím webu Azure Portal k migraci databází z místní instance SQL Serveru do služby Azure SQL Database (offline).

V tomto kurzu se dozvíte, jak pomocí služby Database Migration Service migrovat ukázkovou AdventureWorks2022 databázi z místní instance SQL Serveru do služby Azure SQL Database. Tento výukový program používá offline režim migrace, který během procesu migrace zahrnuje přijatelnou dobu nečinnosti.

V tomto návodu se naučíte, jak:

  • Vytvoření instance služby Azure Database Migration Service
  • Zahájení migrace a monitorování průběhu dokončení

Důležité

V současné době nejsou online migrace cílů služby Azure SQL Database ve službě Azure Database Migration Service k dispozici. V offline migraci se výpadek aplikace spustí při spuštění migrace. Testování offline migrace se doporučuje, aby se určilo, jestli je výpadek přijatelný.

Možnosti migrace

Následující část popisuje, jak používat službu Azure Database Migration Service s webem Azure Portal.

Požadavky

Než začnete kurz:

  • Ujistěte se, že máte přístup k webu Azure Portal.

  • Ujistěte se, že poskytovatel prostředků Microsoft.DataMigration je zaregistrován ve vašem předplatném.

  • Mít účet Azure, který je přiřazený k některé z následujících předdefinovaných rolí:

    • Přispěvatel pro cílovou službu Azure SQL Database
    • Role čtenáře pro skupinu prostředků Azure, která obsahuje cílovou službu Azure SQL Database
    • Role vlastníka nebo přispěvatele pro předplatné Azure (vyžaduje se, pokud vytvoříte novou instanci služby Azure Database Migration Service).

    Jako alternativu k použití jedné z těchto předdefinovaných rolí můžete přiřadit vlastní roli.

  • Vytvořte cílovou Databázi Azure SQL.

  • Ujistěte se, že přihlášení SQL Serveru, které se připojuje ke zdrojové instanci SQL Serveru, je členem db_datareader role a že přihlášení k cílové instanci SQL Serveru je členem db_owner role.

  • Pokud chcete migrovat schéma databáze ze zdroje do cílové služby Azure SQL Database pomocí služby Database Migration Service, vyžaduje se minimální podporovaná verze SHIR 5.37 nebo vyšší.

  • Pro migraci schématu jsou minimální oprávnění na zdrojovém SQL Serveru úroveň db_owner pro přístup k databázi a na cílové službě Azure SQL Database by měl být uživatel členem všech rolí na úrovni serveru v následující tabulce:

Seznam rolí Popis
##MS_DatabaseManager## Členové pevné role serveru ##MS_DatabaseManager## mohou vytvářet a odstraňovat databáze. Členem role ##MS_DatabaseManager##, která vytvoří databázi, se stane vlastníkem této databáze, což uživateli umožní připojit se k této databázi jako uživatel dbo. Uživatel dbo má všechna oprávnění databáze v databázi. Členové role ##MS_DatabaseManager## nemusí mít nutně oprávnění pro přístup k databázím, které nevlastní. Tuto roli serveru doporučujeme použít u role na úrovni databáze dbmanager , která v master databázi existuje.
##MS_DatabaseConnector## Členové pevné role serveru ##MS_DatabaseConnector## se můžou připojit k jakékoli databázi bez nutnosti připojení k uživatelskému účtu v databázi.
##MS_DefinitionReader## Členové pevné role serveru ##MS_DefinitionReader## mohou číst všechna zobrazení katalogu, která jsou zahrnuta v VIEW ANY DEFINITION, na jakékoli databázi, kde má člen této role uživatelský účet.
##MS_LoginManager## Členové pevné role serveru ##MS_LoginManager## můžou vytvářet a odstraňovat přihlášení. Tuto roli serveru doporučujeme použít u role na úrovni databáze loginmanager , která v master databázi existuje.

Příprava cílové služby Azure SQL Database

Pokud chcete vytvořit přihlášení a uživatele v cílové službě Azure SQL Database, spusťte v databázi následující skript master :

CREATE LOGIN testuser WITH PASSWORD = '<password>';

ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser];
GO

ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser];
GO

ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser];
GO

ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser];
GO

CREATE USER testuser FOR LOGIN testuser;
EXECUTE sp_addRoleMember 'dbmanager', 'testuser';
EXECUTE sp_addRoleMember 'loginmanager', 'testuser';

Teď můžete migrovat schéma databáze i data pomocí služby Database Migration Service. K migraci schématu můžete také použít další nástroje, jako je rozšíření SQL Database Projects ve Visual Studio Code, a to před výběrem seznamu tabulek, které se mají migrovat.

Poznámka:

Pokud v cíli služby Azure SQL Database neexistují žádné tabulky nebo nejsou před zahájením migrace vybrány žádné tabulky, tlačítko Další není k dispozici pro zahájení migrace. Pokud v cíli žádná tabulka neexistuje, je nutné vybrat možnost migrace schématu, abyste mohli pokračovat.

Vytvoření instance služby Database Migration Service

Krok 1: Na webu Azure Portal přejděte na stránku Azure Database Migration Service . Vytvořte novou instanci služby Azure Database Migration Service nebo znovu použijte existující instanci, kterou jste vytvořili dříve.

Použití existující instance služby Database Migration Service

Použití existující instance služby Database Migration Service:

  • Na webu Azure Portal v části Azure Database Migration Services vyberte existující instanci služby Database Migration Service, kterou chcete použít, a ujistěte se, že se nachází ve správné skupině prostředků a oblasti.

    Snímek obrazovky znázorňující přehled služby Database Migration Service

Vytvoření nové instance služby Database Migration Service

Vytvoření nové instance služby Database Migration Service:

  1. Na webu Azure Portal v části Azure Database Migration Service vyberte Vytvořit.

    Snímek obrazovky znázorňující možnost vytvoření služby Database Migration Service

  2. Ve výběru scénáře migrace a služby Database Migration Service vyberte požadovaný vstup, jako je typ zdrojového a cílového serveru, zvolte Database Migration Service a zvolte Vybrat.

    Snímek obrazovky znázorňující scénáře migrace služby Database Migration Service

  3. Na další obrazovce Vytvořte službu Data Migration Service, vyberte své předplatné a skupinu prostředků, pak vyberte Umístění a zadejte název služby Database Migration Service. Vyberte Zkontrolovat a vytvořit. Tím se vytvoří služba Azure Database Migration Service.

    Snímek obrazovky znázorňující požadované vstupní podrobnosti služby Database Migration Service

  4. Pokud se vyžaduje místní prostředí Integration Runtime (SHIR), na stránce přehledu služby Database Migration Service a v části Nastavení vyberte Prostředí Integration Runtime a proveďte následující kroky:

    1. Vyberte Konfigurovat prostředí Integration Runtime a zvolte odkaz Stáhnout a nainstalovat prostředí Integration Runtime a otevřete odkaz ke stažení ve webovém prohlížeči. Stáhněte prostředí Integration Runtime a pak ho nainstalujte do počítače, který splňuje požadavky pro připojení ke zdrojové instanci SQL Serveru. Další informace najdete v tématu Místní prostředí Integration Runtime pro migrace databází.

      Snímek obrazovky znázorňující odkaz Ke stažení a instalaci prostředí Integration Runtime

      Po dokončení instalace se nástroj Microsoft Integration Runtime Configuration Manager automaticky otevře, aby zahájil proces registrace.

    2. V tabulce Ověřovací klíč zkopírujte jeden z ověřovacích klíčů, které jsou k dispozici v průvodci, a vložte ho do nástroje Microsoft Integration Runtime Configuration Manager.

      Snímek obrazovky, který zvýrazní tabulku ověřovacího klíče v průvodci

      Pokud je ověřovací klíč platný, v nástroji Integration Runtime Configuration Manager se zobrazí zelená ikona zaškrtnutí. Zelená fajfka označuje, že můžete pokračovat v registraci Register.

      Po registraci samoobslužného integračního prostředí runtime zavřete Microsoft Integration Runtime Configuration Manager. Zobrazení podrobností o uzlu na webu Azure Portal pro službu Database Migration Service v prostředí Settings > Integration Runtime může trvat několik minut.

      Snímek obrazovky, který zvýrazňuje stav SHIR na webu Azure Portal

      Poznámka:

      Další informace o místním prostředí Integration Runtime najdete v tématu Vytvoření a konfigurace místního prostředí Integration Runtime.

Zahájení nové migrace

  1. Pokud chcete zahájit novou migraci, přejděte na webu Azure Database Migration Service na webu Azure Portal a buď pomocí příkazu +Vytvořit vytvořte novou instanci služby Database Migration Service, nebo vyberte existující instanci a pak přejděte do instance služby Azure Database Migration Service.

  2. V podokně Přehled instance služby Azure Database Migration Service vyberte Nová migrace:

    Snímek obrazovky s řídicím panelem migrace databáze Azure

  3. V části Vybrat nový scénář migrace zvolte zdroj, typ cílového serveru, režim migrace a zvolte Vybrat.

    Snímek obrazovky s výběrem nového scénáře migrace

  4. V Průvodci offline migrací služby Azure SQL Database postupujte takto:

    1. Na kartě Podrobnosti o zdroji zadejte podrobnosti o zdrojové instanci SQL Serveru a pak vyberte Další: Připojit ke zdrojovému SQL Serveru:

      Snímek obrazovky sledování zdrojů

    2. Na kartě Připojit ke zdrojovému SQL Serveru zadejte podrobnosti o připojení a pak vyberte Další: Vyberte databáze pro migraci:

      Snímek obrazovky s možností Připojit ke zdroji

    3. Na kartě Vybrat databáze pro migraci zaškrtněte políčko vedle databází, které chcete migrovat. Naplnění seznamu databází může nějakou dobu trvat. Vyberte Další: Připojení k cílové službě Azure SQL Database.

      Snímek obrazovky s výběrem databáze

    4. Na kartě Připojit se k cílové službě Azure SQL Database zadejte podrobnosti o připojení a pak vyberte Další: Mapovat zdroj a cílové databáze:

      Snímek obrazovky cílového připojení

    5. Na kartě Zdroj mapy a cílové databáze mapujte databáze mezi zdrojem a cílem.

      Snímek obrazovky mapových databází

    6. (Volitelné) Zaškrtněte políčko vedle položky Migrovat chybějící schéma a nasaďte chybějící objekty schématu ze zdroje do cíle služby Azure SQL Database a migrujte následující objekty schématu s jedním zaškrtávacím políčku:

      • Schémata
      • Tabulky (vybrané)
      • Rejstříky
      • Pohledy
      • Uložené procedury (StoredProcedures)
      • Synonyma
      • Triggery DDL (DdlTriggery)
      • Výchozí nastavení
      • Fulltextové katalogy (FullTextCatalogs)
      • Průvodci plánováním (PlanGuides)
      • Seznam rolí
      • Pravidla
      • Aplikační role (Role aplikace)
      • Uživatelem definované agregace (UserDefinedAggregates)
      • Uživatelem definované datové typy (UserDefinedDataTypes)
      • Uživatelem definované funkce (UserDefinedFunctions)
      • Typy tabulek definované uživatelem (UserDefinedTableTypes)
      • Uživatelem definované typy (UserDefinedTypes)
      • Users* (ne každý typ uživatele)
      • XmlSchemaCollections

      Poznámka:

      • Pokud vyberete Možnost Migrovat chybějící schéma, služba Database Migration Service provede migraci schématu před migrací dat.
      • DMS pokračuje ve fázi migrace dat, i když při migraci schématu dochází k chybám, pokud nejsou problémy s objekty tabulky.

      Dále buď pomocí příkazu Vybrat všechny tabulky migrujte všechny tabulky, nebo pomocí textového pole vyfiltrujte seznam tabulek a vyberte jednotlivé tabulky, které chcete migrovat. Pak vyberte Další: Souhrn migrace databáze.

      Snímek obrazovky s výběrem schématu a tabulek

    7. Na kartě Souhrn migrace databáze zkontrolujte podrobnosti a pak vyberte Spustit migraci, která spustí migraci databáze a automaticky vás vrátí na řídicí panel Database Migration Service.

      Snímek obrazovky se souhrnem

      Poznámka:

      V případě offline migrace se výpadek aplikace spustí při spuštění migrace.

Monitorování migrace databáze

  1. Pokud chcete monitorovat migraci databáze, vyberte v podokně Přehled instance služby Database Migration Service možnost Monitorovat migrace.

    Snímek obrazovky s přehledem služby Azure Database Migration Service na webu Azure Portal

  2. Na kartě Migrace můžete sledovat probíhající, dokončené a neúspěšné migrace (pokud nějaké) nebo můžete zobrazit všechny migrace databází. V nabídce vyberte Obnovit, aby se aktualizoval stav migrace.

    Snímek obrazovky s monitorováním řídicího panelu DMS

    Database Migration Service vrátí nejnovější známý stav migrace při každé aktualizaci stavu migrace. Následující tabulka popisuje možné stavy:

    Stav Popis
    vytváření Služba spouští migraci.
    Příprava na kopírování Služba zakazuje automatické statistiky, triggery a indexy v cílové tabulce.
    kopírování Data se kopírují ze zdrojové databáze do cílové databáze.
    Kopírování bylo dokončeno. Kopírování dat je dokončeno. Služba čeká na další tabulky, aby dokončila kopírování, aby zahájila konečné kroky pro vrácení tabulek do původního schématu.
    Opětovné sestavení indexů Služba znovu sestavuje indexy v cílových tabulkách.
    Uspěl Všechna data se zkopírují a indexy se znovu sestaví.
  3. V části Název zdroje vyberte název databáze a otevřete zobrazení tabulky. V tomto podrobném zobrazení uvidíte aktuální stav migrace, počet tabulek, které jsou aktuálně v tomto stavu, a podrobný stav jednotlivých tabulek:

    Snímek obrazovky s podrobným monitorováním migrace

  4. Když se všechna data tabulky migrují do cíle služby Azure SQL Database, služba Database Migration Service aktualizuje stav migrace z probíhajícího na úspěch.

    Snímek obrazovky s podrobným úspěchem migrace

Poznámka:

Database Migration Service optimalizuje migraci přeskočením tabulek bez dat (0 řádků). Tabulky, které neobsahují data, se v seznamu nezobrazují, i když jste při vytváření migrace vybrali tabulky.

Dokončili jste migraci do služby Azure SQL Database. Projděte si řadu úkolů po migraci, abyste zajistili, že všechno funguje hladce a efektivně.


Omezení

Offline migrace služby Azure SQL Database využívá kanály služby Azure Data Factory (ADF) pro přesun dat, a proto se řídí omezeními ADF. Odpovídající ADF se vytvoří také při vytvoření služby pro migraci databází. Tovární limity platí pro každou službu.

  • Počítač, na kterém je nainstalovaný nástroj SHIR, funguje jako výpočetní jednotka pro migraci. Ujistěte se, že tento počítač dokáže zpracovat zatížení procesoru a paměti kopie dat. Další informace najdete v tématu Vytvoření a konfigurace místního prostředí Integration Runtime.
  • 100 000 tabulek na limit databáze.
  • 10 000 souběžných migrací databází na službu
  • Rychlost migrace výrazně závisí na cílové SKU služby Azure SQL Database a na hostiteli samostatně hostovaného Integration Runtime.
  • Migrace Azure SQL Database se špatně škáluje s počtem tabulek kvůli režii služby ADF při spouštění aktivit. Pokud databáze obsahuje tisíce tabulek, může spuštění každé tabulky trvat několik sekund, i když se skládají z jednoho řádku s 1 bitem dat.
  • Pro migraci se v současné době nepodporují názvy tabulek Azure SQL Database s dvojitými bajtovými znaky. Zmírněním rizik je přejmenování tabulek před migrací; po úspěšné migraci je možné je změnit zpět na původní názvy.
  • Tabulky s velkými sloupci typu BLOB mohou selhat při migraci kvůli vypršení časového limitu.
  • Názvy databází s rezervovaným SQL Serverem se v současné době nepodporují.
  • Názvy databází, které obsahují středníky, se v současné době nepodporují.
  • Počítané sloupce se nemigrují.
  • Sloupce ve zdrojové databázi, které mají výchozí omezení a obsahují NULL hodnoty, se migrují s definovanými výchozími hodnotami v cílové databázi Azure SQL, místo aby se zachovaly hodnoty NUL.