Postupem času stále více společností migruje na Azure SQL Database nebo je alespoň vyhodnocuje jako alternativu k vysokým nákladům na provozování SQL Serveru v prostorách.
Kontrola kompatibility
Jedním z prvních aspektů přesunu databáze do Azure SQL Database je kontrola kompatibility a Microsoft vám nabízí řadu způsoby, jak to udělat pro Azure SQL Database V12 (dále jen 'V12'). Jednou z těchto metod je použití SQL Server Data Tools for Visual Studio (SSDT), které ke zjištění nekompatibility V12 používá nejnovější pravidla kompatibility. V SSDT můžete importovat schéma databáze a vytvořit projekt pro nasazení V12, a pokud jsou nalezeny nějaké nekompatibility, mohou být opraveny v SSDT a poté synchronizovány zpět do zdrojové databáze.
Můžete také použít nástroj příkazového řádku s názvem SqlPackage, který může vygenerovat zprávu o problémech s kompatibilitou (a vždy se ujistěte, že máte nejnovější verzi). SQL Server Management Studio je další způsob, jak toho dosáhnout, pomocí funkce Export Data-tier Application, která dokáže detekovat chyby a hlásit je na obrazovku. Pokud nejsou zjištěny žádné chyby, můžete migrovat databázi na verzi 12. Pokud jsou zjištěny nekompatibility, lze je před migrací opravit pomocí SSMS.
Data Migration Assistant je samostatný nástroj (lze jej snadno zaměnit s SQL Server Migration Assistant), který lze použít ke snížení námahy při upgradu a nahrazuje náhled SQL Server 2016 Upgrade Advisor. DMA může také doporučit vylepšení výkonu a spolehlivosti. Další nástroj, SQL Azure Migration Wizard (SAMW), je nástroj Codeplex, který používá pravidla kompatibility Azure SQL Database V11 ke zjišťování nekompatibility V12. SAMW může také dokončit migraci na V12 a opravit některé problémy s kompatibilitou. Při používání SAMW je třeba si uvědomit, že dokáže detekovat nekompatibility, které není třeba opravovat.
Migrace dat
Jakmile vaše databáze projde kontrolou kompatibility, musíte určit nejlepší způsob migrace. Některé z běžnějších metod zahrnují použití Průvodce migrací SSMS, export do BACPAC, použití transakční replikace nebo ruční skriptování databází a vkládání dat.
Použití Průvodce migrací SSMS je skvělé pro databáze SQL Server 2005 a vyšší, které jsou malé až střední velikosti. Tohoto průvodce můžete aktivovat v SSMS 2016 tak, že kliknete pravým tlačítkem na databázi, vyberete Úkoly a poté Nasadit databázi do Microsoft Azure SQL Database. V SSMS 2014 se nazývá Deploy Database to Windows Azure SQL Database. Pomocí tohoto průvodce můžete určit databázi, kterou chcete migrovat, připojit se k předplatnému Azure, vybrat umístění pro soubor .bacpac, název nové databáze a do které vrstvy chcete migrovat. Když kliknete na tlačítko Dokončit, průvodce extrahuje a ověří schéma a poté exportuje data. Jakmile jsou data exportována, vytvoří plán nasazení a začne importovat data do nové databáze V12.
Velmi podobná průvodci migrací SSMS je aplikace na úrovni Export dat. Chcete-li vybrat tuto možnost, klikněte pravým tlačítkem na databázi, vyberte Úkoly a poté Exportovat aplikaci datové vrstvy. V nastavení exportu určíte, kde chcete vytvořit soubor .bacpac. Můžete to uložit místně nebo uložit přímo do účtu Azure Storage. K dispozici je také záložka Upřesnit, kde si můžete vybrat, které tabulky chcete zahrnout. To je užitečné, pokud vaše lokální databáze obsahuje kopie tabulek, které si nepřejete migrovat do V12. Když zvolíte Dokončit, exportuje se vaše data. Poté se můžete připojit k serveru Azure prostřednictvím SSMS a zvolit Importovat aplikaci datové vrstvy. Zadáte umístění souboru, název databáze a vrstvu Azure SQL Database. Když zvolíte Dokončit, databáze se začne importovat. Tato metoda vám dává o něco větší kontrolu nad procesem, protože odděluje export od importu. Poskytuje vám také možnost uložit soubor .bacpac do účtu úložiště Azure, takže zranitelnější proces importu nebude závislý na vašem internetovém připojení.
Možností při použití Průvodce migrací SSMS nebo aplikace na úrovni Export dat je vytvoření virtuálního počítače Azure se serverem SQL a nastavení odesílání protokolu. Tím se vaše databáze předběžně připraví v cloudu Azure, aby se minimalizovala doba importu databáze. Když přijde čas na provedení migrace, stačí obnovit poslední zálohy protokolů na sekundárním a poté odebrat odesílání protokolů. Chcete-li databázi uvést do stavu online, proveďte obnovení s obnovením. Tím se v podstatě odstraní čas potřebný ke zkopírování databáze z vašeho datového centra do datového centra Azure.
Transakční replikace je další metodou, která pomáhá zkrátit prostoje při migraci na V12. Je to nejlepší volba, pokud máte extrémně malé okno údržby pro přechod na V12, pokud databáze podporuje transakční replikaci. Nastavení transakční replikace vyžaduje primární klíče pro každou publikovanou tabulku, což může být pro mnoho databází problematické. Konfigurace transakční replikace může být také komplikovaná, protože musíte nastavit distribuční databázi, nastavit vydavatele a odběratele a monitorovat úlohy.
Můžete také migrovat ručně pomocí průvodce Generate Scripts a skriptováním databázového schématu a/nebo dat. Potom můžete vytvořit prázdnou databázi v Azure a importovat své schéma nebo data spuštěním skriptu. Slyšel jsem o některých lidech, kteří používají tuto metodu k vytvoření prázdné databáze a poté ručně vkládají svá data jednu tabulku po druhé pomocí SSMS a propojeného serveru. Tato metoda vám může vyhovovat, ale může být také velmi komplikovaná, pokud máte mnoho konstrukcí schémat, jako jsou vztahy cizích klíčů a sloupce identity, v takovém případě by ostatní výše uvedené metody byly spolehlivější a efektivnější.
Další úvahy týkající se migrace
Při plánování migrace místních databází na V12 je velikost databáze velkým faktorem v tom, jak dlouho bude migrace trvat. Export databáze, přenos dat a import – to vše se zvětší úměrně velikosti databáze.
Dalším velkým faktorem v době obnovy/importu při přesunu databází do V12 je úroveň výkonu, kterou také obnovujete. Proces obnovy/importu vyžaduje hodně koňských sil, takže pro urychlení migrace byste měli zvážit obnovení na vyšší výkonnostní úroveň. Když je databáze online, můžete snadno a rychle přejít na nižší úroveň, která vyhovuje vašim každodenním potřebám výkonu. Možnost měnit úrovně výkonu pomocí několika kliknutí myší je jednou z velkých výhod Azure SQL Database.
Monitorování
Důležitou součástí správy každé databáze je monitoring. Pokud něco nesledujete, nemůžete to měřit. Pokud nevíte, jaké jsou vaše metriky, když věci fungují normálně, jak poznáte, které věci jsou horší, když se výkon sníží? S lokálními databázemi máme nástroje, které dobře známe:SQL Server Management Studio, Performance Monitor, Task Manager, DMV a tak dále. Když přesuneme naše databáze do V12, ztratíme možnost monitorovat z pohledu operačního systému a trochu se změní i další koncepty. Nyní máme tuto metriku nazvanou DTU, se kterou můžeme pracovat, což je zkratka pro Database Transaction Units. Představte si to jako kombinaci CPU, dat a transakčního protokolu I/O a paměti. Azure Portal obsahuje monitorovací graf, který ve výchozím nastavení kontroluje procento DTU, a tento graf můžete upravit tak, aby zahrnoval další metriky, jako jsou:
- Blokováno bránou firewall
- Procento CPU
- Limit DTU
- Použita DTU
- Datové I/O %
- Velikost databáze %
- Zablokování
- Selhání připojení
- Úložiště OLTP v paměti %
(náhled)
- Zaznamenat % I/O
- Procento návštěv
- Úspěšná připojení
- Celková velikost databáze
- Procento pracovníků
Minimálně bych přidal procento CPU, procento datových I/O, zablokování a procento velikosti databáze. V současné době tento graf zobrazuje předchozí hodinu využití zdrojů.
Monitorování pomocí DMV se příliš nezměnilo, kromě toho, že několik nových DMV souvisí s metrikami jednotlivých databází a jak vypočítat velikost databáze. Jeden z mých předchozích článků zde, Začínáme s laděním výkonu v Azure SQL Database, pokrývá některé rozdíly v běžných skriptech, které se používají ke shromažďování latencí disku a statistik čekání ve vztahu k Azure SQL Database.
Začaly také nástroje třetích stran včetně háčků do Azure SQL Database, jako je SentryOne s DB Sentry. DB Sentry vám dává možnost monitorovat výkon a spravovat události, které se vyskytují ve vašem systému. Jednou skvělou funkcí je funkce Top SQL, která vám umožní vidět dotazy, které mají největší dopad na váš celkový výkon, takže můžete vyladit/opravit jakékoli problémy s tímto dotazem. Dalším je graf DTU v průběhu času a jeho vizualizace na řídicím panelu spolu s dalšími důležitými metrikami.
Nejlepší SQL v klientovi SentryOne | Použití DTU na řídicím panelu DB Sentry |
Tyto metriky jsou uloženy ve vyhrazené databázi, což vám poskytuje možnost určovat výchozí stav a trendovat výkon v průběhu času, což je mnohem lepší než omezené grafy, které aktuálně získáváte na Azure Portal.
Shrnutí
Migrace na Azure SQL Database V12 má mnoho výhod, pokud je vaše databáze kompatibilní, tak využijte jeden z dostupných nástrojů ke kontrole kompatibility s V12. Pokud je vaše databáze kompatibilní nebo ji lze snadno upravit, aby byla kompatibilní, můžete snadno migrovat na Azure SQL Database V12 a začít testovat a porovnávat své aplikace a úlohy.