Přehled služby přehrání protokolů se službou Azure SQL Managed Instance

Platí pro:Azure SQL Managed Instance

Tento článek obsahuje přehled služby Replay Service (LRS), kterou můžete použít k migraci databází z SQL Serveru do azure SQL Managed Instance. LRS je bezplatná cloudová služba, která je k dispozici pro Azure SQL Managed Instance a založená na technologii přesouvání protokolů SQL Serveru.

Pokud chcete začít, přečtěte si téma Migrace databází z SQL Serveru do Azure SQL Managed Instance pomocí služby přehrání protokolu.

Kdy použít službu přehrání protokolu

Azure Database Migration Service, rozšíření migrace Azure SQL pro Azure Data Studio a LRS používají stejnou základní technologii migrace a rozhraní API. LRS dále umožňuje komplexní vlastní migrace a hybridní architektury mezi místními instancemi SQL Serveru a nasazeními služby SQL Managed Instance.

Pokud pro migraci nemůžete použít službu Azure Database Migration Service nebo rozšíření Azure SQL, můžete použít LRS přímo s PowerShellem, rutinami Azure CLI nebo rozhraními API k ručnímu sestavování a orchestraci migrací databází do služby SQL Managed Instance.

Zvažte použití LRS v následujících případech, kdy:

  • Pro projekt migrace databáze potřebujete větší kontrolu.
  • Během přímé migrace existuje malá tolerance pro výpadky.
  • Spustitelný soubor Database Migration Service nejde do vašeho prostředí nainstalovat.
  • Spustitelný soubor Database Migration Service nemá přístup k zálohám databáze.
  • Rozšíření migrace Azure SQL nejde nainstalovat do vašeho prostředí nebo nemá přístup k zálohám databáze.
  • Není k dispozici žádný přístup k hostitelskému operačnímu systému nebo neexistují žádná oprávnění správce.
  • Síťové porty z prostředí nemůžete otevřít do Azure.
  • Ve vašem prostředí existují problémy s omezováním sítě nebo blokováním proxy serveru.
  • Zálohy se ukládají přímo v účtech Azure Blob Storage prostřednictvím této TO URL možnosti.
  • Potřebujete použít rozdílové zálohy.

Jsou podporovány následující zdroje:

  • SQL Server na virtuálních počítačích
  • Amazon EC2 (Elastic Compute Cloud)
  • Amazon RDS (relační databázová služba) pro SQL Server
  • Google Compute Engine
  • Cloud SQL pro SQL Server – GCP (Google Cloud Platform)

Poznámka:

  • Doporučujeme automatizovat migraci databází z SQL Serveru do azure SQL Managed Instance pomocí rozšíření migrace Azure SQL pro Azure Data Studio. Pokud rozšíření migrace Azure SQL plně nepodporuje vaše scénáře, zvažte použití LRS k orchestraci migrací.
  • LRS je jediná metoda obnovení rozdílových záloh ve spravovaných instancích. Pomocí T-SQL není možné ručně obnovit rozdílové zálohy ve spravovaných instancích ani ručně nastavit NORECOVERY režim.

Jak funguje LRS

Vytvoření vlastního řešení pro migraci databází do cloudu pomocí LRS vyžaduje několik kroků orchestrace, jak je znázorněno v diagramu a tabulce dále v této části.

Migrace se skládá ze zálohování databáze na SQL Serveru a kopírování záložních souborů do účtu Azure Blob Storage. Podporuje se úplné zálohování, zálohování protokolů a rozdílové zálohování. Potom použijete cloudovou službu LRS k obnovení záložních souborů z účtu Azure Blob Storage do služby SQL Managed Instance. Účet Blob Storage slouží jako zprostředkující úložiště pro záložní soubory mezi SQL Serverem a spravovanou instancí SQL.

LRS monitoruje váš účet Blob Storage pro všechny nové rozdílové zálohy nebo zálohy protokolů, které se přidají po obnovení úplného zálohování. LRS pak tyto nové soubory automaticky obnoví. Pomocí služby můžete monitorovat průběh obnovovaných záložních souborů do služby SQL Managed Instance a v případě potřeby proces zastavit.

LRS nevyžaduje u záložních souborů použití konkrétních zásad vytváření názvů. Prohledá všechny soubory umístěné v účtu služby Azure Blob Storage a vytvoří řetěz záloh jen ze čtení hlaviček souborů. Databáze jsou během procesu migrace ve stavu obnovování. Databáze se obnovují v režimu NORECOVERY , takže je nelze použít pro úlohy čtení nebo zápisu, dokud se proces migrace nedokončí.

Pokud migrujete několik databází, musíte:

  • Umístěte záložní soubory pro každou databázi do samostatné složky v účtu Blob Storage ve struktuře plochých souborů. Použijte například samostatné složky databáze: blobcontainer/database1/files, blobcontainer/database2/files atd.
  • Nepoužívejte vnořené složky do databázových složek, protože struktura vnořených složek není podporovaná. Nepoužívejte například podsložky, jako je blobcontainer/database1/podsložka/soubory.
  • Spusťte službu LRS samostatně pro každou databázi.
  • Zadejte různé cesty identifikátoru URI k oddělení databázových složek v účtu služby Blob Storage.

I když povolení CHECKSUM zálohování není povinné, důrazně doporučujeme. Obnovení databází bez CHECKSUM delšího provozu, protože spravovaná instance SQL provádí kontrolu integrity záloh, které jsou obnoveny bez CHECKSUM povolení.

Další informace naleznete v tématu Migrace databází z SQL Serveru do SLUŽBY SQL Managed Instance pomocí služby přehrání protokolu.

Upozornění

Zálohování na SQL Serveru s povoleným povolením CHECKSUM se důrazně doporučuje, protože existuje riziko obnovení poškozené databáze do Azure bez ní. 

Automatické dokončování vs. průběžná migrace v režimu

LRS můžete spustit buď v automatickém dokončování, nebo v průběžném režimu.

Režim automatického dokončování použijte, pokud máte předem vygenerovaný celý řetěz záloh a když neplánujete přidat další soubory po spuštění migrace. Tento režim migrace se doporučuje pro pasivní úlohy, které nevyžadují zachytávání dat. Nahrajte všechny záložní soubory do účtu Blob Storage a spusťte migraci režimu automatického dokončování. Migrace se dokončí automaticky po obnovení posledního zadaného záložního souboru. Migrovaná databáze bude dostupná pro přístup pro čtení a zápis ve službě SQL Managed Instance.

Pokud máte v úmyslu přidávat nové záložní soubory v průběhu migrace, použijte průběžný režim. Tento režim doporučujeme pro aktivní úlohy, které vyžadují zachytávání dat. Nahrajte aktuálně dostupný řetěz záloh do účtu Blob Storage, spusťte migraci v průběžném režimu a podle potřeby přidejte nové záložní soubory z vaší úlohy. Systém bude pravidelně prohledávat složku Azure Blob Storage a obnovit všechny nové soubory protokolů nebo rozdílových záloh, které najde.

Až budete připraveni na přímou migraci, zastavte úlohu v instanci SQL Serveru, vygenerujte poslední záložní soubor a nahrajte ho. Ověřte, že se poslední záložní soubor obnovil, a ověřte, že se konečná záloha protokolu zobrazuje jako obnovená ve službě SQL Managed Instance. Pak spusťte ruční přímé přecháze. Poslední přímé kroky zpřístupňuje databázi online a je dostupná pro přístup pro čtení a zápis ve službě SQL Managed Instance.

Po zastavení LRS, a to buď automaticky prostřednictvím automatického dokončování, nebo ručně prostřednictvím přímé migrace nemůžete obnovit proces obnovení databáze, která byla přenesena do režimu online ve službě SQL Managed Instance. Po dokončení migrace už například nemůžete obnovit další rozdílové zálohy pro online databázi. Pokud chcete po dokončení migrace obnovit další záložní soubory, musíte odstranit databázi ze spravované instance a restartovat migraci od začátku.

Pracovní postup migrace

Typický pracovní postup migrace je znázorněn na následujícím obrázku a kroky jsou uvedené v tabulce.

Režim automatického dokončování je potřeba použít jenom v případě, že jsou všechny soubory řetězu zálohování k dispozici předem. Tento režim doporučujeme použít pro pasivní úlohy, pro které není vyžadováno zachytávání dat.

Migraci průběžného režimu používejte, pokud nemáte předem celý řetěz záloh a když plánujete přidat nové záložní soubory po dokončení migrace. Tento režim doporučujeme pro aktivní úlohy, pro které se vyžaduje zachytávání dat.

Diagram znázorňující kroky orchestrace služby přehrání protokolu pro spravovanou instanci SQL

Operation Detaily
1. Zkopírujte zálohy databáze z instance SQL Serveru do účtu blob Storage. Pomocí nástroje AzCopy nebo Průzkumník služby Azure Storage zkopírujte úplné zálohy protokolů z instance SQL Serveru do kontejneru Blob Storage.

Použijte všechny názvy souborů. LRS nevyžaduje konkrétní zásady vytváření názvů souborů.

Při migraci několika databází použijte pro každou databázi samostatnou složku.
2. Spusťte LRS v cloudu. Službu můžete spustit pomocí PowerShellu (start-azsqlinstancedatabaselogreplay) nebo Azure CLI (rutiny az_sql_midb_log_replay_start). Vyberte si mezi automatickým dokončováním nebo režimem průběžné migrace.

Spusťte LRS samostatně pro každou databázi, která odkazuje na záložní složku v účtu Blob Storage.

Po spuštění služby provede zálohování z kontejneru Blob Storage a začne je obnovovat do služby SQL Managed Instance.

Když se LRS spustí v režimu automatického dokončování, obnoví všechny zálohy prostřednictvím zadaného posledního záložního souboru. Všechny záložní soubory se musí nahrát předem a během migrace není možné přidávat žádné nové záložní soubory. Tento režim se doporučuje pro pasivní úlohy, u kterých se nevyžaduje zachytávání dat.

Když se LRS spustí v průběžném režimu, obnoví všechny zálohy, které byly původně odeslány, a pak sleduje všechny nové soubory, které byly odeslány do složky. Služba nepřetržitě používá protokoly na základě řetězce posloupnosti protokolů (LSN), dokud se ručně nezastaví. Tento režim doporučujeme pro aktivní úlohy, pro které se vyžaduje zachytávání dat.
2.1. Monitorování průběhu operace. Průběh operace obnovení můžete monitorovat pomocí PowerShellu (get-azsqlinstancedatabaselogreplay) nebo Azure CLI (az_sql_midb_log_replay_show rutin).
2.2. V případě potřeby zastavte operaci (volitelné). Pokud potřebujete zastavit proces migrace, použijte PowerShell (stop-azsqlinstancedatabaselogreplay) nebo Azure CLI (az_sql_midb_log_replay_stop).

Zastavení operace odstraní databázi, kterou obnovujete do služby SQL Managed Instance. Po zastavení operace nemůžete obnovit LRS pro databázi. Proces migrace je potřeba restartovat od začátku.
3. Až budete připraveni, vyřízněte se do cloudu. Pokud byl LRS spuštěn v režimu automatického dokončování, migrace se automaticky dokončí po obnovení zadaného posledního záložního souboru.

Pokud byl LRS spuštěn v nepřetržitém režimu, zastavte aplikaci a úlohu. Proveďte poslední zálohu protokolu a nahrajte ji do nasazení služby Azure Blob Storage. Ujistěte se, že se ve spravované instanci obnovila poslední záloha protokolu. Dokončete přímou operaci spuštěním operace LRS complete pomocí PowerShellu (complete-azsqlinstancedatabaselogreplay) nebo azure CLI az_sql_midb_log_replay_complete. Tato operace zastaví LRS a přenese databázi do režimu online pro úlohy čtení a zápisu ve službě SQL Managed Instance.

Nasadíte aplikaci připojovací řetězec z instance SQL Serveru na spravovanou instanci SQL. Tento krok je potřeba orchestrovat sami, ať už prostřednictvím ruční připojovací řetězec změny v aplikaci, nebo automaticky (například pokud vaše aplikace může číst připojovací řetězec z vlastnosti nebo databáze).

Migrace velkých databází

Pokud migrujete velké databáze s několika terabajty, zvažte následující:

  • Jedna úloha LRS může běžet maximálně 30 dnů. Po uplynutí této doby se úloha automaticky zruší.
  • U dlouhotrvajících úloh se aktualizace systému přeruší a prodlouží úlohy migrace. Důrazně doporučujeme použít časové období údržby k naplánování plánovaných aktualizací systému. Naplánujte migraci kolem časového období plánované údržby.
  • Úlohy migrace, které jsou přerušené aktualizacemi systému, se automaticky pozastaví a obnoví pro spravované instance pro obecné účely a restartují se pro Pro důležité obchodní informace spravované instance. Tyto aktualizace ovlivní časový rámec migrace.
  • Pokud chcete zvýšit rychlost nahrávání záložních souborů SQL Serveru do účtu Blob Storage, zvažte použití paralelizace s více vlákny, pokud má vaše infrastruktura dostatečnou šířku pásma sítě.

Spuštění migrace

Migraci zahájíte spuštěním LRS. Službu můžete spustit buď v automatickém, nebo průběžném režimu. Konkrétní podrobnosti najdete v tématu Migrace pomocí LRS.

  • Režim automatického dokončování Když použijete režim automatického dokončování, migrace se dokončí automaticky po obnovení posledního ze zadaných záložních souborů. Tato možnost:

    • Vyžaduje, aby byl celý řetěz záloh k dispozici předem a nahrál do účtu služby Azure Blob Storage.
    • Nepovoluje přidávání nových záložních souborů během migrace.
    • Vyžaduje, aby spouštěcí příkaz určil název souboru posledního záložního souboru.

    Pro pasivní úlohy, pro které není vyžadováno zachytávání dat, doporučujeme použít režim automatického dokončování.

  • Nepřetržitý režim. Když používáte nepřetržitý režim, služba průběžně prohledá složku Azure Blob Storage a obnoví všechny nové záložní soubory, které se přidají během migrace.

    Migrace se dokončí až po vyžádání ruční přímé migrace.

    Migraci průběžného režimu je potřeba použít, pokud nemáte předem celý řetěz záloh a když plánujete přidat nové záložní soubory po dokončení migrace.

    Pro aktivní úlohy, pro které se vyžaduje zachytávání dat, doporučujeme používat nepřetržitý režim.

Naplánujte dokončení jedné úlohy migrace LRS do maximálně 30 dnů. Po uplynutí této doby se úloha LRS automaticky zruší.

Poznámka:

Při migraci více databází musí být LRS spuštěno zvlášť pro každou databázi, která odkazuje na úplnou cestu URI kontejneru služby Azure Blob Storage a jednotlivé složky databáze.

Omezení služby LRS

Zvažte následující omezení LRS:

  • LRS podporuje pouze databázi .bak.loga .diff soubory. Soubory Dacpac a bacpac nejsou podporované.
  • Během procesu migrace se databáze migrované nedají použít pro přístup jen pro čtení ve službě SQL Managed Instance.
  • Musíte nakonfigurovat časové období údržby, které umožňuje plánování aktualizací systému v konkrétní den a čas. Naplánujte spuštění a dokončení migrací mimo naplánované časové období údržby.
  • Zálohy databáze, které se zabírají bez CHECKSUM delšího obnovení, než je zálohování databází s povolenou CHECKSUM .
  • Token sdíleného přístupového podpisu (SAS), který používá LRS, musí být vygenerován pro celý kontejner služby Azure Blob Storage a musí mít oprávnění jen ke čtení a výpisu. Pokud například udělíte oprávnění ke čtení, výpisu a zápisu, LRS nebude možné spustit kvůli dodatečnému oprávnění k zápisu.
  • Použití tokenů SAS vytvořených s oprávněními nastavenými prostřednictvím definování uložených zásad přístupu se nepodporuje. Podle pokynů v tomto článku ručně zadejte oprávnění ke čtení a výpisu tokenu SAS.
  • Záložní soubory pro různé databáze musíte umístit do samostatných složek v účtu Blob Storage v ploché struktuře souborů. Vnoření složek do databázových složek se nepodporuje.
  • Pokud používáte režim automatického dokončování, musí být celý řetěz záloh dostupný předem v účtu Blob Storage. V režimu automatického dokončování není možné přidávat nové záložní soubory. Pokud během migrace potřebujete přidat nové záložní soubory, použijte nepřetržitý režim.
  • LRS musíte spustit zvlášť pro každou databázi, která odkazuje na úplnou cestu URI, která obsahuje jednotlivé složky databáze.
  • Cesta k identifikátoru URI zálohování, název kontejneru nebo názvy složek by neměly obsahovat backup nebo backups protože se jedná o vyhrazená klíčová slova.
  • Při paralelním spuštění více obnovení přehrání protokolu, které cílí na stejný kontejner úložiště, se ujistěte, že je pro každou operaci obnovení k dispozici stejný platný token SAS.
  • LRS může podporovat až 100 souběžných procesů obnovení na jednu spravovanou instanci.
  • Jedna úloha LRS může běžet maximálně 30 dní, po které se automaticky zruší.
  • I když je možné použít účet služby Azure Storage za bránou firewall, je nutná další konfigurace a účet úložiště a spravovaná instance musí být buď ve stejné oblasti, nebo ve dvou spárovaných oblastech. Další informace najdete v tématu Konfigurace brány firewall .
  • Maximální počet databází, které můžete obnovit paralelně, je 200 na jedno předplatné. V některých případech je možné tento limit zvýšit otevřením lístku podpory.

Tip

Pokud potřebujete, aby byla databáze během migrace přístupná jen pro čtení, s mnohem delším časovým rámcem pro provedení migrace a s minimálními výpadky, zvažte použití funkce propojení azure SQL Managed Instance jako doporučeného řešení migrace.

Další kroky