Přesun dat mezi cloudovými databázemi s horizontálním navýšením kapacity

Platí pro:Azure SQL Database

Pokud jste vývojářem softwaru jako služby a najednou vaše aplikace prochází obrovskou poptávkou, musíte přizpůsobit růst. Takže přidáte další databáze (horizontální oddíly). Jak redistribuujete data do nových databází bez narušení integrity dat? Pomocí nástroje pro rozdělení sloučení přesuňte data z omezených databází do nových databází.

Nástroj pro rozdělení sloučení běží jako webová služba Azure. Správce nebo vývojář pomocí nástroje přesune shardlety (data z horizontálního oddílu) mezi různými databázemi (horizontálními oddíly). Nástroj používá správu mapování horizontálních oddílů k údržbě databáze metadat služby a zajištění konzistentních mapování.

Overview

Stažení

Microsoft.Azure.SqlDatabase.ElasticScale.Service.SplitMerge

Dokumentace

  1. Kurz nástroje elastické databáze split-merge
  2. Konfigurace zabezpečení rozdělené sloučení
  3. Důležité informace o zabezpečení při rozdělení sloučení
  4. Správa mapování horizontálních oddílů
  5. Migrace existujících databází pro horizontální navýšení kapacity
  6. Nástroje elastické databáze
  7. Glosář nástrojů elastické databáze

Proč používat nástroj split-merge

  • Flexibilitu

    Aplikace se musí pružně roztáhnout nad rámec limitů jedné databáze ve službě Azure SQL Database. Pomocí nástroje můžete přesouvat data podle potřeby do nových databází a zachovat integritu.

  • Rozdělení na růst

    Pokud chcete zvýšit celkovou kapacitu pro zvládnutí explozivního růstu, vytvořte další kapacitu horizontálním dělením dat a jejich rozdělením do přírůstkově více databází, dokud nebudou splněny potřeby kapacity. Toto je základní příklad funkce rozdělení .

  • Sloučení pro zmenšení

    Kvůli sezónní povaze firmy je potřeba snížit kapacitu. Nástroj umožňuje vertikálně snížit kapacitu na méně jednotek škálování, když se firma zpomalí. Tento požadavek pokrývá funkce sloučení ve službě Elastic Scale Split-Merge Service.

  • Správa hotspotů přesunem shardletů

    U více tenantů na databázi může přidělení shardletů do horizontálních oddílů vést k kritickým bodům kapacity u některých horizontálních oddílů. To vyžaduje opětovné přidělení shardletů nebo přesun zaneprázdněných shardletů do nových nebo méně využívaných horizontálních oddílů.

Koncepty a klíčové funkce

  • Služby hostované zákazníkem

    Rozdělení sloučení se doručí jako služba hostovaná zákazníkem. Službu musíte nasadit a hostovat ve svém předplatném Microsoft Azure. Balíček, který si stáhnete z NuGetu, obsahuje šablonu konfigurace, která se dokončí s informacemi pro vaše konkrétní nasazení. Podrobnosti najdete v kurzu rozděleného sloučení. Vzhledem k tomu, že služba běží ve vašem předplatném Azure, můžete řídit a konfigurovat většinu aspektů zabezpečení služby. Výchozí šablona obsahuje možnosti konfigurace tls, ověřování klienta založeného na certifikátech, šifrování uložených přihlašovacích údajů, omezení ochrany DoS a IP adres. Další informace oaspektech

    Výchozí nasazená služba běží s jednou pracovní a jednou webovou rolí. Každý z nich používá velikost virtuálního počítače A1 v Azure Cloud Services. I když při nasazování balíčku nemůžete tato nastavení změnit, můžete je po úspěšném nasazení ve spuštěné cloudové službě změnit (prostřednictvím webu Azure Portal). Mějte na paměti, že role pracovního procesu nesmí být nakonfigurována z technických důvodů z více než jedné instance.

  • Integrace mapování horizontálních oddílů

    Služba rozdělení slučování komunikuje s mapou horizontálních oddílů aplikace. Při použití služby split-merge k rozdělení nebo sloučení rozsahů nebo k přesunutí shardletů mezi horizontálními oddíly služba automaticky udržuje mapu horizontálních oddílů v aktualizovaném stavu. K tomu se služba připojí k databázi správce mapování horizontálních oddílů aplikace a udržuje rozsahy a mapování jako průběh žádostí o rozdělení, sloučení a přesun. Tím se zajistí, že mapa horizontálních oddílů vždy zobrazí aktuální zobrazení při probíhajících operacích rozděleného sloučení. Operace rozdělení, sloučení a přesunu shardletů se implementují přesunutím dávky shardletů ze zdrojového horizontálního oddílu do cílového horizontálního oddílu. Během operace přesunu shardletů jsou shardlety, na které se vztahuje aktuální dávka, označeny jako offline v mapě horizontálních oddílů a nejsou k dispozici pro připojení směrování závislá na datech pomocí rozhraní Open Připojení ionForKey API.

  • Konzistentní připojení shardletu

    Když se přesun dat spustí pro novou dávku shardletů, všechny připojení směrování závislé na horizontálních oddílech k horizontálnímu oddílu, do kterého se ukládá shardlet, se ukončí a následná připojení z rozhraní API mapování horizontálních oddílů k shardletům se zablokují, zatímco probíhá přesun dat, aby nedocházelo k nekonzistenci. Připojení iony na jiné shardlety ve stejném horizontálním oddílu se také zabijí, ale znovu proběhne okamžitě při opakování. Po přesunutí dávky se shardlety znovu označí jako online pro cílový horizontální oddíl a zdrojová data se ze zdrojového horizontálního oddílu odeberou. Služba projde těmito kroky pro každou dávku, dokud se nepřesunou všechny shardlety. To povede k několika operacím ukončení připojení během celé operace rozdělení, sloučení nebo přesunutí.

  • Správa dostupnosti shardletu

    Omezení zabíjení připojení na aktuální dávku shardletů, jak je popsáno výše, omezuje rozsah nedostupnosti na jednu dávku shardletů najednou. Tento přístup se upřednostňuje před přístupem, kdy by kompletní horizontální oddíl zůstal offline pro všechny jeho shardlety během operace rozdělení nebo sloučení. Velikost dávky definované jako počet jedinečných shardletů, které se mají přesunout najednou, je konfigurační parametr. Dá se definovat pro každou operaci rozdělení a sloučení v závislosti na dostupnosti a výkonu aplikace. Všimněte si, že rozsah, který je uzamčen v mapě horizontálních oddílů, může být větší než zadaná velikost dávky. Důvodem je to, že služba vybere velikost rozsahu tak, aby skutečný počet hodnot klíče horizontálního dělení v datech přibližně odpovídal velikosti dávky. To je důležité pamatovat zejména na řídké naplněné klíče horizontálního dělení.

  • Úložiště metadat

    Služba rozdělení slučování používá databázi k udržování jejího stavu a k uchovávání protokolů během zpracování žádosti. Uživatel vytvoří tuto databázi ve svém předplatném a poskytne pro ni připojovací řetězec v konfiguračním souboru pro nasazení služby. Správa istrátory z organizace uživatele se také můžou připojit k této databázi, aby zkontrolovali průběh žádosti a prozkoumali podrobné informace týkající se potenciálních selhání.

  • Povědomí o horizontálním dělení

    Služba rozdělení slučování rozlišuje mezi (1) horizontálně dělenými tabulkami, (2) referenčními tabulkami a (3) normálními tabulkami. Sémantika operace rozdělení, sloučení nebo přesunutí závisí na typu použité tabulky a jsou definovány takto:

    • Horizontálně dělené tabulky

      Operace rozdělení, sloučení a přesunutí přesunou shardlety ze zdroje do cílového horizontálního oddílu. Po úspěšném dokončení celkového požadavku už tyto shardlety ve zdroji neexistují. Všimněte si, že cílové tabulky musí existovat v cílovém horizontálním oddílu a nesmí obsahovat data v cílovém rozsahu před zpracováním operace.

    • Referenční tabulky

      V případě referenčních tabulek operace rozdělení, sloučení a přesunutí zkopírují data ze zdroje do cílového horizontálního oddílu. Všimněte si však, že u cílového horizontálního oddílu pro danou tabulku nedojde k žádným změnám, pokud už v této tabulce v cíli existuje nějaký řádek. Aby se zpracovala operace kopírování referenční tabulky, musí být tabulka prázdná.

    • Další tabulky

      Ostatní tabulky mohou být přítomny ve zdroji nebo cíli operace rozdělení a sloučení. Služba split-merge ignoruje tyto tabulky pro všechny operace přesunu nebo kopírování dat. Upozorňujeme však, že v případě omezení můžou narušovat tyto operace.

      Informace o referenčních a horizontálních tabulkách poskytují SchemaInfo rozhraní API na mapě horizontálních oddílů. Následující příklad ukazuje použití těchto rozhraní API v daném objektu správce mapování horizontálních oddílů:

      // Create the schema annotations
      SchemaInfo schemaInfo = new SchemaInfo();
      
      // reference tables
      schemaInfo.Add(new ReferenceTableInfo("dbo", "region"));
      schemaInfo.Add(new ReferenceTableInfo("dbo", "nation"));
      
      // sharded tables
      schemaInfo.Add(new ShardedTableInfo("dbo", "customer", "C_CUSTKEY"));
      schemaInfo.Add(new ShardedTableInfo("dbo", "orders", "O_CUSTKEY"));
      
      // publish
      smm.GetSchemaInfoCollection().Add(Configuration.ShardMapName, schemaInfo);
      

      Tabulky region a nation jsou definovány jako referenční tabulky a budou zkopírovány s operacemi rozdělení, sloučení a přesunutí. customer a orders následně jsou definovány jako horizontálně dělené tabulky. C_CUSTKEY a O_CUSTKEY slouží jako klíč horizontálního dělení.

  • Referenční integrita

    Služba split-merge analyzuje závislosti mezi tabulkami a používá relace cizího klíče primárního klíče k fázování operací pro přesun referenčních tabulek a shardletů. Obecně platí, že referenční tabulky se nejprve zkopírují v pořadí závislostí a potom se shardlety zkopírují v pořadí jejich závislostí v každé dávce. To je nezbytné, aby byla při příchodu nových dat dodržena omezení FK-PK cílového horizontálního oddílu.

  • Konzistence mapování horizontálních oddílů a konečné dokončení

    V případě selhání služba split-merge obnoví operace po jakémkoli výpadku a má za cíl dokončit všechny probíhající žádosti. Mohou však existovat neobnovitelné situace, například když dojde ke ztrátě cílového horizontálního oddílu nebo k ohrožení nad rámec opravy. Za těchto okolností mohou být některé shardlety, které měly být přesunuty, nadále umístěny ve zdrojovém horizontálním oddílu. Služba zajišťuje, aby se mapování shardletů aktualizovalo až po úspěšném zkopírování potřebných dat do cíle. Shardlety se odstraní pouze ve zdroji, jakmile se všechna jejich data zkopírují do cíle a odpovídající mapování se úspěšně aktualizovalo. Operace odstranění probíhá na pozadí, zatímco rozsah je již online v cílovém horizontálním oddílu. Služba split-merge vždy zajišťuje správnost mapování uložených v mapě horizontálních oddílů.

Uživatelské rozhraní split-merge

Balíček služby split-merge zahrnuje roli pracovního procesu a webovou roli. Webová role slouží k interaktivnímu odesílání žádostí o rozdělení a slučování. Hlavní součásti uživatelského rozhraní jsou následující:

  • Typ operace

    Typ operace je přepínač, který řídí druh operace prováděné službou pro tuto žádost. Můžete si vybrat mezi scénáře rozdělení, sloučením a přesunem. Můžete také zrušit dříve odeslanou operaci. Žádosti o rozdělení, sloučení a přesunutí můžete použít pro mapy horizontálních oddílů rozsahu. Mapy horizontálních oddílů seznamu podporují pouze operace přesunu.

  • Mapa horizontálních oddílů

    Další část parametrů požadavku obsahuje informace o mapě horizontálních oddílů a databázi hostující mapu horizontálních oddílů. Konkrétně musíte zadat název serveru a databáze hostující mapu horizontálních oddílů, přihlašovací údaje pro připojení k mapě horizontálních oddílů a nakonec název mapy horizontálních oddílů. V současné době operace přijímá pouze jednu sadu přihlašovacích údajů. Tyto přihlašovací údaje musí mít dostatečná oprávnění k provádění změn mapování horizontálních oddílů a také k uživatelským datům v horizontálních oddílech.

  • Zdrojový rozsah (rozdělení a sloučení)

    Operace rozdělení a sloučení zpracovává rozsah pomocí jeho nízkého a vysokého klíče. Pokud chcete zadat operaci s nevázanou vysokou hodnotou klíče, zaškrtněte políčko Vysoká hodnota klíče max a pole s vysokým klíčem nechte prázdné. Zadané hodnoty klíče rozsahu nemusí přesně odpovídat mapování a jeho hranicím v mapě horizontálních oddílů. Pokud nezadáte žádné hranice rozsahu vůbec, služba automaticky odvodí nejbližší rozsah. Pomocí skriptu PowerShellu GetMappings.ps1 můžete načíst aktuální mapování v dané mapě horizontálních oddílů.

  • Rozdělení zdrojového chování (rozdělení)

    Pro operace rozdělení definujte bod pro rozdělení zdrojového rozsahu. Uděláte to tak, že poskytnete klíč horizontálního dělení, ve kterém chcete rozdělení provést. Pomocí přepínače určete, jestli se má přesunout dolní část oblasti (s výjimkou rozděleného klíče), nebo jestli chcete, aby se horní část přesunula (včetně rozdělené klávesy).

  • Zdrojový shardlet (přesun)

    Operace přesunutí se liší od operací rozdělení nebo sloučení, protože nevyžadují rozsah k popisu zdroje. Zdroj pro přesunutí je jednoduše identifikován hodnotou klíče horizontálního dělení, kterou plánujete přesunout.

  • Cílové horizontální oddíly (rozdělené)

    Jakmile poskytnete informace o zdroji operace rozdělení, musíte definovat, kam chcete data zkopírovat, zadáním názvu serveru a databáze pro cíl.

  • Cílový rozsah (sloučení)

    Operace sloučení přesunou shardlety do existujícího horizontálního oddílu. Existující horizontální oddíl identifikujete tak, že poskytnete hranice rozsahu existujícího rozsahu, se kterým chcete sloučit.

  • Velikost dávky

    Velikost dávky řídí počet shardletů, které se během přesunu dat přesunou do offline režimu. Jedná se o celočíselnou hodnotu, kde můžete použít menší hodnoty v případě, že u shardletů citliví na dlouhá období výpadků. Větší hodnoty zvětší dobu, po kterou je daný shardlet offline, ale může zvýšit výkon.

  • ID operace (zrušit)

    Pokud máte probíhající operaci, která už není potřebná, můžete operaci zrušit zadáním ID operace v tomto poli. ID operace můžete načíst z tabulky stavu požadavku (viz oddíl 8.1) nebo z výstupu ve webovém prohlížeči, kam jste odeslali žádost.

Požadavky a omezení

Aktuální implementace služby split-merge podléhá následujícím požadavkům a omezením:

  • Horizontální oddíly musí existovat a musí být zaregistrovány v mapě horizontálních oddílů, aby bylo možné provést operaci rozdělení sloučení těchto horizontálních oddílů.
  • Služba nevytová tabulky ani žádné jiné databázové objekty automaticky jako součást svých operací. To znamená, že schéma pro všechny horizontálně dělené tabulky a referenční tabulky musí existovat v cílovém horizontálním oddílu před jakoukoli operací rozdělení, sloučení nebo přesunutí. Konkrétně dělené tabulky musí být prázdné v oblasti, do které se mají přidávat nové shardlety operací rozdělení, sloučení nebo přesunutí. Jinak operace selže při počáteční kontrole konzistence cílového horizontálního oddílu. Všimněte si také, že referenční data se kopírují pouze v případě, že je referenční tabulka prázdná a že neexistují žádné záruky konzistence v souvislosti s dalšími souběžnými operacemi zápisu v referenčních tabulkách. Doporučujeme: Při spouštění operací rozdělení nebo sloučení nedochází k žádným jiným operacím zápisu v referenčních tabulkách.
  • Služba spoléhá na identitu řádků vytvořenou jedinečným indexem nebo klíčem, který zahrnuje klíč horizontálního dělení, aby se zlepšil výkon a spolehlivost pro velké horizontální oddíly. Díky tomu může služba přesouvat data s rovnoměrnou členitostí než jen hodnotou klíče horizontálního dělení. To pomáhá snížit maximální množství místa na protokolu a zámky, které jsou potřeba během operace. Zvažte vytvoření jedinečného indexu nebo primárního klíče, včetně klíče horizontálního dělení v dané tabulce, pokud chcete tuto tabulku použít s požadavky na rozdělení, sloučení nebo přesunutí. Z důvodů výkonu by klíč horizontálního dělení měl být úvodním sloupcem v klíči nebo indexu.
  • Během zpracování požadavků můžou některá data shardletu existovat ve zdroji i cílovém horizontálním oddílu. To je nezbytné k ochraně před selháními během shardletového pohybu. Integrace rozdělení sloučení s mapou horizontálních oddílů zajišťuje, že připojení prostřednictvím rozhraní API směrování závislého na datech pomocí metody Open Připojení ionForKey na mapě horizontálních oddílů neuvidí žádné nekonzistentní přechodné stavy. Pokud se ale připojujete ke zdroji nebo cílovým horizontálním oddílům bez použití metody Open Připojení ionForKey, můžou být při rozdělení, slučování nebo přesunu požadavků viditelné nekonzistentní přechodné stavy. Tato připojení můžou zobrazovat částečné nebo duplicitní výsledky v závislosti na načasování nebo horizontálním oddílu, který je základem připojení. Toto omezení v současné době zahrnuje připojení vytvořená více horizontálními dotazy elastického škálování.
  • Databáze metadat pro službu rozdělené sloučení nesmí být sdílena mezi různými rolemi. Například role služby rozdělené sloučení spuštěné v přípravné fázi musí odkazovat na jinou databázi metadat než produkční role.

Fakturace

Služba rozdělené sloučení běží jako cloudová služba ve vašem předplatném Microsoft Azure. Poplatky za cloudové služby se proto vztahují na vaši instanci služby. Pokud často neprovedete operace rozdělení, sloučení nebo přesunutí, doporučujeme cloudovou službu rozdělené sloučení odstranit. To šetří náklady na spuštěné nebo nasazené instance cloudových služeb. Snadno spustitelnou konfiguraci můžete znovu nasadit a spustit vždy, když potřebujete provést operace rozdělení nebo sloučení.

Sledování

Tabulky stavu

Služba split-merge poskytuje tabulku RequestStatus v databázi úložiště metadat pro monitorování dokončených a probíhajících požadavků. Tabulka obsahuje řádek pro každý požadavek rozdělené sloučení, který byl odeslán do této instance služby split-merge. Každému požadavku poskytne následující informace:

  • Timestamp

    Čas a datum zahájení žádosti.

  • Id operace

    Identifikátor GUID, který jednoznačně identifikuje požadavek. Tento požadavek lze také použít ke zrušení operace, i když stále probíhá.

  • Stav

    Aktuální stav požadavku. U probíhajících požadavků také uvádí aktuální fázi, ve které je žádost.

  • CancelRequest

    Příznak, který označuje, jestli byla žádost zrušena.

  • Pokroku

    Procento odhadu dokončení operace Hodnota 50 označuje, že operace je přibližně 50 % dokončena.

  • Podrobnosti

    Hodnota XML, která poskytuje podrobnější zprávu o průběhu. Sestava průběhu se pravidelně aktualizuje, protože sady řádků se kopírují ze zdroje do cíle. V případě selhání nebo výjimek obsahuje tento sloupec také podrobnější informace o selhání.

Azure Diagnostics

Služba split-merge používá k monitorování a diagnostice Diagnostiku Azure založenou na sadě Azure SDK 2.5. Konfiguraci diagnostiky řídíte, jak je vysvětleno zde: Povolení diagnostiky ve službách Azure Cloud Services a Virtual Machines. Balíček pro stažení obsahuje dvě konfigurace diagnostiky – jednu pro webovou roli a jednu pro roli pracovního procesu. Obsahuje definice protokolů čítačů výkonu, protokolů služby IIS, protokolů událostí systému Windows a protokolů událostí rozdělené aplikace.

Nasazení diagnostiky

Poznámka:

Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Důležité

Modul Azure Resource Manager v PowerShellu je stále podporovaný, ale veškerý budoucí vývoj je určený pro modul Az.Sql. Tyto rutiny najdete v tématu AzureRM.Sql. Argumenty pro příkazy v modulu Az a v modulech AzureRm jsou podstatně identické.

Pokud chcete povolit monitorování a diagnostiku pomocí konfigurace diagnostiky pro webové a pracovní role poskytované balíčkem NuGet, spusťte pomocí Azure PowerShellu následující příkazy:

$storageName = "<azureStorageAccount>"
$key = "<azureStorageAccountKey"
$storageContext = New-AzStorageContext -StorageAccountName $storageName -StorageAccountKey $key
$configPath = "<filePath>\SplitMergeWebContent.diagnostics.xml"
$serviceName = "<cloudServiceName>"

Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext `
    -DiagnosticsConfigurationPath $configPath -ServiceName $serviceName `
    -Slot Production -Role "SplitMergeWeb"

Set-AzureServiceDiagnosticsExtension -StorageContext $storageContext `
    -DiagnosticsConfigurationPath $configPath -ServiceName $serviceName `
    -Slot Production -Role "SplitMergeWorker"

Další informace o konfiguraci a nasazení nastavení diagnostiky najdete tady: Povolení diagnostiky ve službách Azure Cloud Services a Virtual Machines.

Načtení diagnostiky

K diagnostice se můžete snadno dostat z Průzkumníka serveru sady Visual Studio v části Průzkumníka serveru v azure. Otevřete instanci sady Visual Studio a v řádku nabídek klikněte na Zobrazit a Průzkumník serveru. Kliknutím na ikonu Azure se připojte k předplatnému Azure. Pak přejděte do Azure –> Storage –><your storage account> –> Tabulky –> WADLogsTable. Další informace naleznete v tématu Průzkumník serveru.

WADLogsTable

Tabulka WADLogsTable zvýrazněná na obrázku výše obsahuje podrobné události z aplikačního protokolu služby split-merge. Všimněte si, že výchozí konfigurace staženého balíčku je zaměřená na produkční nasazení. Proto je interval, ve kterém se protokoly a čítače natahují z instancí služby, velký (5 minut). V případě testování a vývoje snižte interval úpravou nastavení diagnostiky webu nebo role pracovního procesu podle svých potřeb. Klikněte pravým tlačítkem myši na roli v Průzkumníku serveru sady Visual Studio (viz výše) a v dialogovém okně upravte dobu přenosu pro nastavení konfigurace diagnostiky:

Configuration

Výkon

Obecně platí, že lepší výkon se očekává od vyšších a výkonnějších úrovní služeb. Vyšší přidělení vstupně-výstupních operací, procesoru a paměti pro vyšší úrovně služby přináší výhody operací hromadného kopírování a odstranění, které služba rozdělení slučování používá. Z tohoto důvodu zvyšte úroveň služby pouze pro tyto databáze po definovanou omezenou dobu.

Služba také provádí ověřovací dotazy jako součást normálních operací. Tyto ověřovací dotazy kontrolují neočekávanou přítomnost dat v cílovém rozsahu a zajišťují, aby všechny operace rozdělení, sloučení a přesunutí začaly z konzistentního stavu. Všechny tyto dotazy pracují s rozsahy klíčů horizontálního dělení definované oborem operace a velikost dávky poskytnutou v rámci definice požadavku. Tyto dotazy fungují nejlépe, když je v indexu, který má klíč horizontálního dělení jako počáteční sloupec.

Kromě toho vlastnost jedinečnosti s klíčem horizontálního dělení jako počáteční sloupec umožní službě používat optimalizovaný přístup, který omezuje spotřebu prostředků z hlediska místa protokolu a paměti. Tato vlastnost jedinečnosti je nutná k přesunu velkých velikostí dat (obvykle vyšší než 1 GB).

Postup upgradu

  1. Postupujte podle kroků v části Nasazení služby rozdělené sloučení.
  2. Změňte konfigurační soubor cloudové služby pro nasazení rozdělené sloučení tak, aby odrážel nové parametry konfigurace. Nový povinný parametr je informace o certifikátu použitém k šifrování. Snadným způsobem, jak to udělat, je porovnat nový soubor šablony konfigurace ze stahování s existující konfigurací. Nezapomeňte přidat nastavení pro DataEncryptionPrimaryCertificateThumbprint web i DataEncryptionPrimary roli pracovního procesu.
  3. Před nasazením aktualizace do Azure se ujistěte, že byly dokončeny všechny aktuálně spuštěné operace rozděleného sloučení. Můžete to snadno provést dotazováním tabulek RequestStatus a PendingWorkflows v databázi metadat rozdělené sloučení pro probíhající požadavky.
  4. Aktualizujte stávající nasazení cloudové služby pro rozdělení a sloučení v předplatném Azure pomocí nového balíčku a aktualizovaného konfiguračního souboru služby.

K upgradu není nutné zřizovat novou databázi metadat pro rozdělení sloučení. Nová verze automaticky upgraduje stávající databázi metadat na novou verzi.

Osvědčené postupy a řešení potíží

  • Definujte testovacího tenanta a procvičte nejdůležitější operace rozdělení, sloučení a přesunutí s testovacím tenantem napříč několika horizontálními oddíly. Ujistěte se, že jsou všechna metadata správně definovaná v mapě horizontálních oddílů a že operace neporušují omezení nebo cizí klíče.
  • Ponechte velikost testovacích dat tenanta nad maximální velikostí dat vašeho největšího tenanta, abyste měli jistotu, že nenarazíte na problémy související s velikostí dat. To vám pomůže vyhodnotit horní mez v době, kterou trvá přesunutí jednoho tenanta.
  • Ujistěte se, že vaše schéma umožňuje odstranění. Služba rozdělení slučování vyžaduje možnost odebrat data ze zdrojového horizontálního oddílu, jakmile se data úspěšně zkopírují do cíle. Triggery odstranění můžou například službě zabránit v odstranění dat ve zdroji a způsobit selhání operací.
  • Klíč horizontálního dělení by měl být úvodním sloupcem v primárním klíči nebo jedinečné definici indexu. Tím zajistíte nejlepší výkon pro ověřovací dotazy rozdělení nebo sloučení a pro skutečné operace přesunu a odstranění dat, které vždy pracují s rozsahy klíčů horizontálního dělení.
  • Sloučí službu rozdělené sloučení do oblasti a datacentra, kde se nachází vaše databáze.

Další materiály

Ještě nepoužíváte nástroje elastické databáze? Podívejte se na naši příručku Začínáme. Pokud máte dotazy, kontaktujte nás na stránce otázek Microsoft Q&A pro SLUŽBU SQL Database a žádosti o funkce, přidejte nové nápady nebo hlasujte pro stávající nápady ve fóru pro zpětnou vazbu ke službě SQL Database.