Sdílet prostřednictvím


Přehled služby přehrávání logů s 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 dostupná pro Azure SQL Managed Instance a založená na technologii přesouvání protokolů SQL Serveru.

Vzhledem k tomu, že LRS obnovuje standardní záložní soubory SQL Serveru, můžete ho použít k migraci z SQL Serveru hostovaného kdekoli (místně nebo v libovolném cloudu) do spravované instance Azure SQL.

Pokud chcete zahájit migraci pomocí LRS, zkontrolujte Migrace databází pomocí služby Log Replay.

Důležité

Před migrací databází na úroveň služby Pro důležité obchodní informace zvažte tato omezení, která neplatí pro úroveň služby Pro obecné účely.

Kdy použít službu pro přehrává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řepnutí 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.

Vzhledem k tomu, že LRS funguje obnovením standardních záložních souborů SQL Serveru, měla by podporovat migrace z libovolného zdroje. Byly testovány následující zdroje:

  • SQL Server na místním/ser­verovém hardware
  • 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)
  • Alibaba Cloud RDS pro SQL Server

Pokud narazíte na neočekávané problémy s migrací z nezařazeného zdroje, otevřete tiket podpory, abyste získali pomoc.

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 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 trvá déle, protože spravovaná instance SQL provádí kontrolu integrity záloh, které jsou obnoveny bez povolení CHECKSUM.

Další informace naleznete v tématu Migrace databází z SQL Serveru do SQL Managed Instance pomocí služby Log Replay Service.

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ý režim migrace

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řechod, zastavte pracovní zátěž v instanci SQL Serveru, vygenerujte poslední záložní soubor a nahrajte ho. Ujistěte se, že byl obnoven poslední záložní soubor, a ověřte, že je záloha logového chvostu uvedena jako obnovená ve službě SQL Managed Instance. Pak spusťte ruční přepnutí. Poslední krok převodu zpřístupní databázi online a je dostupná pro čtení a zápis na SQL Managed Instance.

Po zastavení LRS, ať už automaticky prostřednictvím automatického dokončování, nebo ručně přesunem, nemůžete pokračovat v obnově procesu pro databázi, která byla uvedena do provozu 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

Operace Detaily
1. Zkopírujte zálohy databáze z instance SQL Serveru do účtu blob Storage. Pomocí nástroje AzCopy nebo Průzkumníka služby Azure Storage zkopírujte úplné, diferenciální a logové zálohy 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 (cmdlety 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ě uplatňuje protokoly podle řetězce LSN (číslo posloupnosti protokolů), dokud není zastavena ručně. 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 probíhající operace obnovení můžete monitorovat pomocí PowerShellu (get-azsqlinstancedatabaselogreplay) nebo Azure CLI (rutiny az_sql_midb_log_replay_show). Pokud chcete sledovat další podrobnosti o neúspěšném požadavku, použijte příkaz PowerShellu Get-AzSqlInstanceOperation nebo použijte příkaz Azure CLI az sql mi op show.
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, přejděte na cloud. 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řenos provedení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.

Přesměrujte připojovací řetězec aplikace z instance SQL Serveru do spravované instance SQL. Tento krok si orchestrujte sami, ať už prostřednictvím ruční změny připojovacího řetězce v aplikaci, nebo automaticky (například v případě, že vaše aplikace může číst připojovací řetězec z vlastnosti nebo databáze).

Důležité

Po přechodu může trvat u SQL Managed Instance s úrovní služby Kritická pro podnikání výrazně déle než u Obecného účelu, než budou pro skupinu dostupnosti připraveny tři sekundární repliky. Doba trvání operace závisí na velikosti dat. Další informace najdete v tématu Doba trvání operací správy.

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 aktualizace systému úlohy migrace přeruší a prodlouží. 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šeny aktualizacemi systému, se automaticky pozastaví a obnoví pro spravované instance pro obecné účely a restartují se pro spravované instance pro kritické obchodní účely. 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ě.

Začněte migraci

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ězec záloh k dispozici předem a nahrán do účtu 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čí pouze po požádání o ruční předání.

    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 každá databáze ve své vlastní složce. LRS musí být spuštěna samostatně pro každou databázi a odkazovat na úplnou cestu URI kontejneru služby Azure Blob Storage a jednotlivé složky databáze. Vnořené složky uvnitř databázových složek se nepodporují.

Omezení služby LRS

Pro informace si prostudujte omezení při použití LRS.

Další kroky