Jedním z dražších produktů společnosti Microsoft, s nímž se setkáváme téměř u každého zákazníka, je SQL Server. Nabízí se v několika edicích a ve třech rozdílných licenčních režimech: Server a CAL, Per Core a jako služba SQL Azure. Ačkoli jsou licenční podmínky už po mnoho let v základních principech stejné, mnoho uživatelů i dodavatelů IT jim nevěnuje dostatečnou pozornost, a tak si koledují o značné problémy a postihy v případě auditů a kontrol. Těm, kteří chtějí mít software legálně, odpovídáme často na stále stejné dotazy, proto jsme se rozhodli vytvořit seriál, který bude vysvětlovat opakující se scénáře nasazení a jejich korektní licenční řešení.

Radek ŽaludRadek Žalud
LicenceLicence
17.03.2014 16:21:0017.03.2014 16:21:00

Radek Žalud

technický a licenční specialista

ALSO Czech Republic s.r.o.
+420 222 512 201
+420 603 442 434
daquas@daquas.cz
Anny Letenské 7, Praha 2

SQL Server v režimu vysoké dostupnosti

Jedním z dražších produktů společnosti Microsoft, s nímž se setkáváme téměř u každého zákazníka, je SQL Server. Nabízí se v několika edicích a ve třech rozdílných licenčních režimech: Server a CAL, Per Core a jako služba SQL Azure. Ačkoli jsou licenční podmínky už po mnoho let v základních principech stejné, mnoho uživatelů i dodavatelů IT jim nevěnuje dostatečnou pozornost, a tak si koledují o značné problémy a postihy v případě auditů a kontrol. Těm, kteří chtějí mít software legálně, odpovídáme často na stále stejné dotazy, proto jsme se rozhodli vytvořit seriál, který bude vysvětlovat opakující se scénáře nasazení a jejich korektní licenční řešení. První dva díly najdete v předcházejících dvou vydáních Softwarového QUASu nebo na našem webu zde a zde.

SQL Server v režimu vysoké dostupnosti

Scénář nasazení

Zákazník by chtěl pro podporu běhu ERP systému provozovat SQL Server 2012 v režimu vysoké dostupnosti. SQL Server 2012 bude provozován na čtyřuzlovém Hyper-V klastru. Samotný SQL Server 2012 bude nasazen ve virtuálním serveru, přičemž vysoké dostupnosti bude dosaženo využitím technologie SQL Server Failover Cluster.

Základní předpoklady

Přiřazení licencí

Licenci je vždy nejprve nutno přiřadit fyzickému serveru, a to i v případě, že je SQL Server 2012 provozován ve virtuálním prostředí. Změnu tohoto přiřazení licencí z jednoho fyzického serveru na jiný je možné provést nejdříve po 90 dnech od předchozího přiřazení licencí, nebo v případě, že skončí životnost daného serveru z důvodu neopravitelné hardwarové závady.

Potřebný počet licencí

Před přiřazením licencí fyzickému serveru je nutno stanovit počet potřebných licencí SQL Serveru 2012 Standard. Pokud je SQL Server instalován ve virtuálním serveru, je nutné pokrýt všechny virtuální procesory alokované operačnímu systému virtuálního serveru. Vždy jsou však na pokrytí jednoho virtuálního serveru potřeba minimálně čtyři licence na jádro.

Licenční mobilita uvnitř serverových farem

Aby bylo možné migrovat virtuální server z jednoho serveru (uzlu klastru) na druhý, je třeba nejprve změnit přiřazení licencí z jednoho serveru na druhý. Tuto změnu přiřazení licencí je ovšem možné provést nejdříve po 90 dnech od předchozího přiřazení licencí, a proto i migraci virtuálního serveru s instalovaným SQL Serverem je možné provést až po této době.

Zákazníci, kteří mají licence k SQL Serveru pořízeny s aktivním předplatným Software Assurance, mohou využít práva License Mobility v rámci serverových farem. Tato výhoda SA jim umožní měnit přiřazení licencí mezi jednotlivými servery v rámci serverové farmy libovolně často, takže mohou migrovat virtuální server s SQL Serverem mezi jednotlivými uzly klastru také libovolně často.

Právo na zálohu

SQL Server 2012 disponuje technologiemi, které v případě neočekávaného výpadku databázového serveru zajistí dostupnost databáze včetně aktuálních dat na serveru jiném. Mezi základní technologie pro zajištění vysoké dostupnosti patří SQL Server Database Mirroring, Log Shipping nebo Failover Clustering. Ruku v ruce s technologickými možnostmi SQL Serveru 2012 jde i licenční politika, která umožňuje ke každé pokryté „aktivní“ instanci SQL Serveru 2012 provozovat ještě jednu (ale vždy jen jednu) instanci v odděleném, samostatném operačním systému, pro kterou není potřeba další licence, ovšem za předpokladu, že druhá instance SQL Serveru bude „pasivní“.

Pasivní instancí se myslí instance, která poběží výhradně pro potřeby zajištění vysoké dostupnosti celého databázového řešení, a jako taková přímo neposkytuje data uživatelům, nevykonává žádné služby SQL Serveru – třeba reportovací, integrační nebo analytické služby, ani na ní nejsou provozována žádná další řešení, jako je například dodatečné zálohování z pasivní instance SQL Serveru.

Správné licenční řešení scénáře z příkladu

Určení potřebného počtu licencí pro SQL Server 2012

Pro určení potřebného počtu licencí SQL Serveru 2012 je rozhodující to, že SQL Server bude instalován ve virtuálním prostředí. V našem příkladu budou operačnímu systému ve virtuálním prostředí přiřazena čtyři fyzická jádra, bude tedy využívat maximálně čtyři virtuální procesory a je potřeba přiřadit čtyři licence na jádro.

Využití práva na zálohu

Dvouuzlový SQL Server Failover Cluster umožňuje zapojení v režimu Active/Passive. V tomto zapojení je možné využít licenčního práva na zálohu a druhou, pasivní instanci vytvořit pouze na základě řádně licencované aktivní instance SQL Serveru 2012.

Virtuálnímu serveru s pasivní instancí SQL Serveru však nesmí být přiřazeno více virtuálních procesorů, než kolik je licencováno na aktuálně aktivní instanci SQL Serveru. Je tomu tak proto, že v případě nenadálého výpadku aktivní instance převezme veškeré funkcionality SQL Serveru do té doby pasivní instance, která se tak rázem stane instancí aktivní, a jako taková musí být řádně licenčně pokryta. Prakticky tedy musí během výpadku aktivní instance SQL Serveru dojít k přesunutí nejen veškerých funkcionalit SQL Serveru, ale také veškerých potřebných licencí SQL Serveru z jednoho fyzického serveru na druhý. 

Zde je potřeba znovu upozornit na princip přiřazování licencí: licence je přiřazena fyzickému serveru a její přiřazení nesmí být měněno libovolně často nebo krátkodobě, ale až po uplynutí 90 dní od předchozího přiřazení. Licence, přiřazené druhému serveru při nastalém výpadku, tedy budou moci být přiřazeny zpět až po uplynutí 90 dní.

Abychom se výše uvedenému omezení vyhnuli a také proto, aby mohla instance SQL Serveru 2012 v případě potřeby volně migrovat mezi všemi čtyřmi uzly klastru, bude zákazník potřebovat právo License Mobility. To je však podmíněno pokrytím všech čtyř licencí SQL Serveru 2012 aktivní Software Assurance. Právo License Mobility jej oprostí od 90denního omezení na změnu přiřazení licencí a bude moci měnit přiřazení licencí libovolně často jak mezi jednotlivými uzly klastru, tak i mezi aktivní a pasivní instancí SQL Serveru.

Správným licenčním řešením je tedy pořízení čtyř licencí na jádro SQL Serveru 2012 včetně aktivní Software Assurance prostřednictvím některé z multilicenčních smluv.

Pro úplnost: Licence operačního systému

Vzhledem k tomu, že SQL Server 2012 musí být instalován na operačním systému Windows Server, je nutné řešit i licenční pokrytí tohoto produktu. Windows Server však nedisponuje žádným právem License Mobility, ani právem na zálohu, jako SQL Server. Proto musíme potřebné licence pro Windows Server pořídit jak pod aktivní, tak pod pasivní instanci SQL Serveru. Zároveň, pokud bude instance s SQL Serverem migrovat po jednotlivých uzlech klastru, musíme mít dostatek licencí na Windows Server i pro všechny uzly klastru, na které může být instance SQL Serveru přesunuta.

Shrnutí v otázkách a odpovědích

Musím pořizovat licence pro všechny virtuální procesory operačního systému, i když SQL Server bude využívat jen polovinu z nich?

Ano. U SQL Serveru 2012 v režimu podle využitých jader je ve virtuálním prostředí nutné pokrýt licencí všechna virtuální jádra přiřazená instanci operačního systému, ve kterém je instalován SQL Server. Je to stejné jako ve fyzickém prostředí, kde je nutné pokrýt všechna fyzická jádra využitá instancí operačního systému bez ohledu na to, kolik jader skutečně využívá samotný SQL Server.

Pokud virtuální server používá jen dva virtuální procesory, budou mi stačit jen dvě licence SQL Serveru na jádro?

Ne. Jednomu virtuálnímu serveru je vždy nutné přiřadit nejméně čtyři licence na jádro.

Ovlivňuje nějak počet potřebných licencí ve virtuálním serveru využití hyperthreadingu?

Ne. Ve virtuálním serveru je nutné pokrýt každé virtuální jádro bez ohledu na to, z jakého fyzického zdroje pochází, zda z jádra, či vlákna.

Může virtuální server s instalovaným SQL Serverem 2012 migrovat mezi uzly klastru bez licencí SQL Serveru krytých Software Assurance?

Ne. Pro uplatnění práva License Mobility je nutné mít všechny licence pokryté aktivním předplatným Software Assurance. Bez tohoto pokrytí smí virtuální server migrovat mezi uzly klastru pouze jednou za devadesát dní.

Může virtuální server s instalovaným SQL Serverem migrovat mezi uzly klastru, pokud je licencován prostřednictvím licencí SQL Server Runtime?

Ne. Licence SQL Server Runtime nedisponují právem License Mobility, a to ani s aktivním předplatným Embedded Maintenance. Jediným možným řešením je přiřadit dostatečný počet licencí SQL Serveru Runtime všem uzlům klastru, na které by mohl SQL Server Runtime migrovat. Je tedy potřeba předem zvažovat, zda se toto řešení vyplatí.

Můžu migrovat SQL Server 2012 i na sdílené servery třetí strany (do Cloudu)?

Ano. Zákazníci, kteří mají licence k SQL Serveru pořízeny s aktivním předplatným Software Assu­rance mohou využít i práva License Mobility poskytovaného programem Software Assurance, které zákazníkovi umožní přenést jednou za 90 dní licence i do prostředí veřejného cloudu, tedy na sdílené servery třetích stran.

Můžu migrovat SQL Server 2012 Runtime i na sdílené servery třetí strany?

Ne. Licence SQL Server Runtime nedisponují právem License Mobility, a to ani s aktivním předplatným Embedded Maintenance. SQL Server Runtime je možné přenést na servery třetích stran, pouze pokud nejsou sdíleny více zákazníky a jsou tedy celé fyzicky dedikovány jednomu zákazníkovi.

Změní se licenční podmínky při využití virtualizačních technologií třetích stran (VMware, Citrix)?

Ne. Licenční podmínky pro produkty společnosti Microsoft jsou při využití různých virtualizačních technologií vždy stejné a konzistentní.

Na závěr

Trojdílný seriál o tajích a půvabech licenční politiky SQL Serveru se zvláštním zaměřením na licence dodávané jako součást uceleného řešení (tzv. Runtime) je u konce. Na závěr připomeňme základní pravidlo, které říká, že závazné je vždy a pouze znění licenčního ujednání. Naše příklady a výklady mají napomoci jeho správnému pochopení, ale zodpovědnost za přesné dodržení licenčních podmínek leží na uživateli, respektive provozovateli licence. Ten je pak povinen na vyžádání autora vždy věrohodně doložit, že dodržuje ustanovení licenční smlouvy, která mu umožňuje software využívat.

Jestli vás nad seriálem napadly další otázky a scénáře, s nimiž potřebujete poradit, obraťte se na nás. A za chvíli tu máme SQL Server 2014… :-)