Vybrané novinky v SQL Serveru pro administrátory

Pomalu se na světlo světa klube nová major verze Microsoft SQL Serveru, která sebou přináší řadu zajímavých novinek. Podívejte se, jaké to budou.

Informace uvedené v tomto článku se vztahují k aktuálně dostupné verzi SQL Serveru Code Name „Denali“, což je CTP3. Tato verze zatím neobsahuje všechnu funkcionalitu, která je plánována pro verzi RTM a současně do uvedení verze RTM může ještě dojít ke změnám funkcionality.

Microsoft s představením novinek ve Windows Serveru 8 potvrdil, že jeho hlavní dlouhodobou strategií v oblasti serverových řešení je využití virtualizace, jakožto prostředku k dosažení vysoké dostupnosti provozovaných služeb a současně efektivního využití pořízeného virtualizačního hardwaru. Postupně se tedy v jednotlivých serverových produktech setkáváme s tím, že jsou odbourávány specifické hardwarové požadavky, které byly dříve předpokladem k nasazení řešení s vysokou dostupností. Podobně je tomu i v připravované verzi SQL Serveru s kódovým označením „Denali“.

Vysoká dostupnost

Současná verze Microsoft SQL Serveru umožňuje nasadit databázové řešení s vysokou dostupností a nabízí k tomu hned několik cest.

První možností je využití SQL Server Failover Clusteru, který pro svůj chod využívá Windows Server Failover Cluster a umožňuje docílit vysoké dostupnosti na úrovni instance. Je však vyžadováno spolehlivé sdílené úložiště, kde jsou uloženy databáze sdílené mezi jednotlivými uzly clusteru, což je nemalý problém, pokud chceme docílit, aby uzly clusteru byly na geograficky odlišných místech.

Druhou cestou je využití Database Mirroringu, který umožňuje synchronně nebo asynchronně replikovat vaši databázi na jiný server. Aplikace se potom připojují na primární repliku databáze, která obsluhuje veškerou zátěž generovanou aplikací. Změny provedené v primární replice jsou následně replikovány do sekundárních replik. Ty však nejsou uživateli dostupné. Dokud tedy nedojde k havárii serveru s primární replikou, servery obsluhující sekundární repliky pouze zapisující přicházející změny a s minimálním vytížením pouze čekají, dokud se automaticky nebo manuálně nestanou primární replikou. Za nevýhodu v určitých situacích může být považováno i to, že se Database Mirroring konfiguruje pro každou databázi zvlášť.

Microsoft SQL Server „Denali“ podporuje již existující technologie vysoké dostupnosti a současně přináší novou technologii, která je označována jako „AlwaysOn“.

Než se pustím do samotného vysvětlování možností AlwaysOn, pojďme se podívat, co je třeba učinit proto, aby Always On fungovalo na vašich serverech.

  1. Je třeba nainstalovat Windows Server Failover Cluster (podmínkou je Windows Server 2008 R2 Enterprise nebo vyšší), vytvořit v něm vysoce dostupný cluster a přiřadit do něj požadované servery
  2. Zkontrolovat přes SQL Server Configuration Manager, jestli je povolena u služby SQL Server vysoká dostupnost ve formě AlwaysOn
  3. Přes Microsoft SQL Server Management Studio potom vytvoříte Availability Group nad vybranými uzly clusteru a umístíte do ní databáze, u kterých požadujete vysokou dostupnost.

   

step-0.png step-1.png step-3.png
step-4.png step-5.png step-6.png
step-7.png step-8.png step-9.png

Obrázek 1 - Konfigurace vysoké dostupnosti

Hlavní výhody této technologie vidím v tom, že přesto, že využívá Windows Server Failover Cluster, tak nevyžaduje sdílené diskové úložiště, neboť funguje na principu synchronní nebo asynchronní replikace změn mezi uzly, kdy každý uzel si udržuje lokální kopii databáze. Další podstatnou výhodou je, že se vytváří skupiny vysoce dostupných databází, protože když se nad tím zamyslíte, existuje plno kritických firemních systémů, které využívají několik databází současně a je z hlediska správy výhodnější řešit vysokou dostupnost rovnou pro skupinu souvisejících databází, než ji konfigurovat pro každou odděleně.

Další podstatná výhoda AlwaysOn je v tom, že je možné povolit na sekundární replice čtení databáze, čímž můžete docílit rozdělení zátěže mezi databázové servery. Na sekundární repliku se může připojovat například reportovací server, který data z databáze pouze načítá a zátěž způsobená generováním reportů vám tím pádem neovlivní primární repliku a odezvy na ní závislých aplikací. Současně je také možné využít sekundární repliky k provádění záloh vašich databází.

Pokud se vaše aplikace bude připojovat na celý cluster (s využitím Virtual Network Name) místo vybraných serverů, budete mít zajištěno, že pokud se primární replika přepne na jiný server, vaše aplikace bude také automaticky přesměrována. Současně můžete přímo připojovacím řetězci do databáze určit, že aplikace žádá o přístup pouze ke čtení a bude automaticky přesměrována na sekundární repliku s povoleným čtením, pokud je dostupná.

Contained Database

Jedná se o technologii, která výrazně zjednodušuje migraci databáze mezi jednotlivými SQL Servery. Za největší kámen úrazu při přesunu databáze mezi SQL Servery považuji závislé objekty, které nejsou její přímou součástí. Bavíme se tedy o serverových objektech, které jsou s danou databází svázány, aplikace je vyžaduje ke svému korektnímu fungování, ale nejsou součástí samotné databáze, tím pádem se nepřenesou při přesunu databáze jejím odpojením na jednom serveru, okopírováním datových souborů na druhý a načtením do jiného SQL Serveru.

Microsoft se proto rozhodl v nové verzi SQL Serveru povolit přepnutí databáze do režimu „contained“, kdy jsou závislé serverové objekty uloženy přímo jako součást databáze. Pokud se rozhodnete použít režim „Fully contained database“ (pozn. není podporováno v SQL Server Denali CTP 3), získáte tím databázi, která je zcela nezávislá na instanci SQL Serveru, kde běží.

Díky této novince bude tedy možné velice jednoduše migrovat databáze mezi databázovými servery, což může mít velice zajímavé využití třeba u hostingových společností.

Podpora Windows Server Core

Když Microsoft uváděl Windows Server Core edice, hlavním cílem bylo vytvořit minimalistickou verzi serverového operačního sytému, která neobsahuje nevyužívané komponenty, většinou související s uživatelským rozhraním. Tím se snížila pravděpodobnost, že systém obsahuje komponentu se závažnou chybou a současně se snížil počet potřebných updatů a tím i počet potřebných restartů serveru.

S uvedením SQL Serveru Code Name „Denali“ se rodina produktů podporujících edici Server Core rozšířila i o databázový server.

Odhaduje se, že provozem SQL Serveru pod edicí Server Core zkrátíte jeho nedostupnost způsobenou restarty kvůli updatům přibližně o 50-60%.

Rozšířená podpora Data-tier aplikací

S pojmem Data-tier aplikace jsme se mohli setkat již u Microsoft SQL Serveru 2008 R2, kdy byla uvedena první verze tohoto frameworku. Hlavní myšlenkou je poskytnout vývojáři prostředky, aby zabalil schéma databáze dohromady s požadavky pro její provoz do jednoho balíčku, tzv. DACPAC (Data-tier Application Component Package) a ten mohl předat správci SQL Serveru, který jej jednoduše naimportuje, čímž se nejdříve ověří vývojářem definované politiky, třeba jestli je možné na daném serveru vůbec databázi provozovat a následně se vytvoří celá databáze.

Velice zajímavý je potom upgrade databáze na její novou verzi, kdy vývojář opět dodá jen jeden balíček, SQL Server sám detekuje, že se jedná o novou verzi existující aplikace a provede její automatický upgrade.

Tato technologie má několik nepříjemných omezení, ale pro malé a jednoduché databáze se jedná o velice efektivní a praktické řešení, které zjednoduší komunikaci mezi vývojářem a správcem SQL Serveru.

V SQL Serveru „Denali“ se potom dočkáme její nové verze, která přináší některé zajímavé novinky. Jednou z nich je třeba in-place upgrade vaší databáze s minimálním výpadkem dostupnosti během procesu aktualizace.

V rámci tohoto článku jste měli možnost se seznámit s některými novinkami, které SQL Server „Denali“ přináší, zejména pro administrátory. Tento článek však nepokrývá rozsáhlé novinky, které se týkají vývojářů a odborníků v oblasti business intelligence.

Autor: David Gešvindr (MCT, MSP)
 

Články ze série Microsoft TechNet nevytváří redakce Živě.cz, ale partneři programu Microsoft TechNet. Jsou publikovány v rámci mediálního partnerství Živě.cz a společnosti Microsoft.

Váš názor Další článek: Go 4 IPv6 & Win: Pokročilé síťování. II. díl

Témata článku: , , , , , , , , , , , , , , , , , , , , , , ,