Obnovení jednoho tenanta pomocí aplikace SaaS pro jednotlivé tenanty

Platí pro:Azure SQL Database

Model databáze na tenanta usnadňuje obnovení jednoho tenanta k určitému bodu v čase, aniž by to ovlivnilo ostatní tenanty.

V tomto kurzu se seznámíte se dvěma vzory obnovení dat:

  • Obnovení databáze do paralelní databáze (vedle sebe).
  • Obnovte místní databázi a nahraďte stávající databázi.
Vzor Popis
Obnovení do paralelní databáze Tento model lze použít pro úlohy, jako je kontrola, auditování a dodržování předpisů, aby tenant mohl zkontrolovat data z dřívějšího bodu. Aktuální databáze tenanta zůstává online a beze změny.
Obnovení na místě Tento model se obvykle používá k obnovení tenanta do dřívějšího bodu po náhodném odstranění nebo poškození dat tenanta. Původní databáze se odebrala a nahradila obnovenou databází.

Předpokladem dokončení tohoto kurzu je splnění následujících požadavků:

Úvod do vzorů obnovení tenanta SaaS

Existují dva jednoduché vzory pro obnovení dat jednotlivých tenantů. Vzhledem k tomu, že databáze tenantů jsou navzájem izolované, obnovení jednoho tenanta nemá žádný vliv na data ostatních tenantů. Funkce obnovení k určitému bodu v čase (PITR) služby Azure SQL Database se používá v obou vzorech. PitR vždy vytvoří novou databázi.

  • Paralelní obnovení: V prvním vzoru se vytvoří nová paralelní databáze společně s aktuální databází tenanta. Tenantovi se pak udělí přístup jen pro čtení k obnovené databázi. Obnovená data je možné zkontrolovat a případně použít k přepsání aktuálních hodnot dat. Je na návrháři aplikací, aby určil, jak tenant přistupuje k obnovené databázi a jaké možnosti pro obnovení jsou k dispozici. Stačí, když tenantovi umožníte zkontrolovat data v dřívějším okamžiku, to může být vše, co je v některých scénářích potřeba.

  • Obnovení na místě: Druhý vzor je užitečný, pokud došlo ke ztrátě nebo poškození dat a tenant se chce vrátit k dřívějšímu bodu. Během obnovení databáze se tenant odebral mimo řádek. Původní databáze se odstraní a obnovená databáze se přejmenuje. Záložní řetězec původní databáze zůstane po odstranění přístupný, takže v případě potřeby můžete databázi obnovit k dřívějšímu bodu v čase.

Pokud databáze používá aktivní geografickou replikaci a provádí paralelní obnovení, doporučujeme zkopírovat všechna požadovaná data z obnovené kopie do původní databáze. Pokud původní databázi nahradíte obnovenou databází, musíte překonfigurovat a znovu synchronizovat geografickou replikaci.

Získání skriptů aplikace SaaS typu Wingtip Tickets pro jednotlivé tenanty

Skripty a zdrojový kód aplikace Wingtip Tickets SaaS Multitenant Database jsou k dispozici v úložišti WingtipTicketsSaaSaSaS-DbPerTenant na GitHubu. Postup stažení a odblokování skriptů SaaS Wingtip Tickets najdete v obecných doprovodných materiálech.

Než začnete

Po vytvoření databáze může trvat 10 až 15 minut, než bude k dispozici první úplná záloha pro obnovení. Pokud jste právě nainstalovali aplikaci, možná budete muset několik minut počkat, než tento scénář vyzkoušíte.

Simulace náhodného odstranění dat tenanta

Pokud chcete předvést tyto scénáře obnovení, nejprve omylem odstraňte událost v jedné z databází tenantů.

Otevřete aplikaci Události a zkontrolujte aktuální události.

  1. Otevřete centrum událostí (http://events.wtp.<user>.trafficmanager.net) a vyberte Koncertní sál společnosti Contoso.

    A screenshot of the events hub page of the sample application. The entry for Contoso Concert Hall is boxed in red.

  2. Posuňte seznam událostí a poznamenejte si poslední událost v seznamu.

    A screenshot from the sample application. The last event appears.

"Náhodně" odstraňte poslední událost.

  1. V prostředí PowerShell ISE otevřete ...\Learning Modules\Business Continuity and Disaster Recovery\RestoreTenant\Demo-RestoreTenant.ps1a nastavte následující hodnotu:

    • = $DemoScenario 1, odstranit poslední událost (bez prodeje lístku).
  2. Stisknutím klávesy F5 spusťte skript a odstraňte poslední událost. Zobrazí se následující potvrzovací zpráva:

    Deleting last unsold event from Contoso Concert Hall ...
    Deleted event 'Seriously Strauss' from Contoso Concert Hall venue.
    
  3. Otevře se stránka událostí společnosti Contoso. Posuňte se dolů a ověřte, že je událost pryč. Pokud je událost stále v seznamu, vyberte Aktualizovat a ověřte, že je pryč. A screenshot from the sample application. The last event is removed.

Paralelní obnovení databáze tenanta s produkční databází

Toto cvičení obnoví databázi Koncertové haly společnosti Contoso k určitému bodu v čase před odstraněním události. Tento scénář předpokládá, že chcete zkontrolovat odstraněná data v paralelní databázi.

Skript Restore-TenantInParallel.ps1 vytvoří paralelní databázi tenanta s názvem ContosoConcertHall_old s položkou paralelního katalogu. Tento model obnovení je nejvhodnější pro zotavení z menší ztráty dat. Tento model můžete použít také v případě, že potřebujete zkontrolovat data pro účely dodržování předpisů nebo auditování. Doporučuje se použít aktivní geografickou replikaci.

  1. Dokončete část Simulace tenanta, který omylem odstraní data.
  2. V prostředí PowerShell ISE otevřete ...\Learning Modules\Business Continuity and Disaster Recovery\RestoreTenant\Demo-RestoreTenant.ps1.
  3. Nastavte $DemoScenario = 2 a obnovte tenanta paralelně.
  4. Skript spustíte stisknutím klávesy F5.

Skript obnoví databázi tenanta k určitému bodu v čase před odstraněním události. Databáze se obnoví do nové databáze s názvem ContosoConcertHall_old. Metadata katalogu, která v této obnovené databázi existují, se odstraní a pak se databáze přidá do katalogu pomocí klíče vytvořeného ContosoConcertHall_old z názvu.

Ukázkový skript otevře stránku událostí pro tuto novou databázi tenanta v prohlížeči. Poznámka z adresy URL http://events.wingtip-dpt.<user>.trafficmanager.net/contosoconcerthall_old , že tato stránka zobrazuje data z obnovené databáze, kde _old je přidán do názvu.

Posuňte události uvedené v prohlížeči a ověřte, že se událost odstranila v předchozí části.

Zveřejnění obnoveného tenanta jako dalšího tenanta s vlastní aplikací Události pravděpodobně nebude způsob, jakým poskytujete přístup tenanta k obnoveným datům. Slouží k ilustraci vzoru obnovení. Obvykle dáváte ke starým datům přístup jen pro čtení a obnovenou databázi si zachováte po definovanou dobu. V ukázce můžete po dokončení odstranit obnovenou položku tenanta spuštěním scénáře Odebrat obnoveného tenanta .

  1. Nastavte $DemoScenario = 4 a odeberte obnovený tenant.
  2. Skript spustíte stisknutím klávesy F5.
  3. Položka ContosoConcertHall_old je nyní odstraněna z katalogu. Zavřete stránku událostí pro tohoto tenanta v prohlížeči.

Obnovení stávajícího tenanta a nahrazení stávající databáze tenanta

Toto cvičení obnoví tenanta koncertu Contoso do bodu před odstraněním události. Skript Restore-TenantInPlace obnoví databázi tenanta do nové databáze a odstraní původní databázi. Tento model obnovení je nejvhodnější pro zotavení z závažného poškození dat a tenant může muset pojmout významnou ztrátu dat.

  1. V prostředí PowerShell ISE otevřete Demo-RestoreTenant.ps1 soubor.
  2. Nastavte $DemoScenario = 5, obnovte tenanta.
  3. Skript spustíte stisknutím klávesy F5.

Skript obnoví databázi tenanta do bodu před odstraněním události. Nejprve vezme tenanta Koncert hall společnosti Contoso mimo linku, aby se zabránilo dalším aktualizacím. Pak se vytvoří paralelní databáze obnovením z bodu obnovení. Obnovená databáze má název s časovým razítkem, aby se zajistilo, že název databáze není v konfliktu s názvem existující databáze tenanta. Dále se odstraní stará databáze tenanta a obnovená databáze se přejmenuje na původní název databáze. A konečně, Contoso Concert Hall se přenese do online režimu, aby aplikace mohla přistupovat k obnovené databázi.

Databázi jste úspěšně obnovili k určitému bodu v čase před odstraněním události. Po otevření stránky Události potvrďte, že se obnovila poslední událost.

Po obnovení databáze trvá dalších 10 až 15 minut, než bude k dispozici první úplná záloha k obnovení znova.

Poznámka:

Obnovení z databází s více tenanty do jednoho tenanta není možné.

Další kroky

V tomto kurzu jste se naučili:

  • Obnovení databáze do paralelní databáze (vedle sebe).
  • Obnovte zavedenou databázi.

Další prostředky