Dlouhodobě připravovaný článek o licencování SQL Serveru 2005 je konečně tu. Už několikrát jsem si říkal – zveřejním to, mám to hotové, pak se ale objevila další nejasná licenční otázka (někdy i několik otázek najednou) a zase jsem věnoval několik dnů hledání odpovědí.
Licencováním SQL Serveru 2005 se zabývám už od října 2005, kdy jsem pro Microsoft připravoval licenční semináře a webcast na toto téma. Doufám, že se mi podaří prosadit ještě několik dalších termínů těchto seminářů, zájem byl velký a na všechny se prostě nedostalo.
Od října 2005 se pochopitelně objevilo několik nových licenčních dokumentů a stávající dokumenty se upřesňovaly, takže jsem nyní ve fázi, kdy mám nezodpovězených otázek na téma licencování SQL Serveru 2005 v hlavě cca 5 a nemyslím si, že na ně v brzké době naleznu odpověď. Vlastně si nemyslím, že na ně vůbec někdy naleznu odpověď.
Tento článek bude zanedlouho v upravené podobě zveřejněn také na webu společnosti Microsoft.
Nyní tedy již k samotnému tématu – licencování Microsoft SQL Serveru 2005:
„SQL Server 2005 poskytuje zákazníkům možnost volby optimálního licenčního řešení, které respektuje rozličné potřeby nákupu, scénáře nasazení i budoucí investice.“ – touto větou jsem zmíněné licenční semináře začínal, tušil jsem totiž, že na tvářích přítomných prodejců a partnerů společnosti Microsoft vyvolá úsměv. Tento záměr mi vyšel do puntíku. Licencování SQL Serveru vždy bylo i stále je skutečnou perličkou, třešničkou na dortu, kterou si umí vychutnat lidé podobně licenčně „ujetí“, jako jsem já. U licencování SQL Serveru je totiž možné vše. Co tím myslím?
Licence SQL Serveru 2005 jsou, podobně jako byly licence SQL Serveru 2000, dostupné v rámci licenčních režimů „Server CAL“ i režimu „Per Processor“. SQL Server je tak stále jediným produktem společnosti Microsoft, který je možné licencovat v obou těchto licenčních režimech, je to velká výjimka, ale je dobře, že existuje. V následujících řádcích si objasníme proč.
Licencování SQL Serveru 2005 v licenčním režimu Server + CAL:
V tomto licenčním scénáři je pro každou relaci operačního systému, na kterém je SQL Server nebo jeho komponenta (jako např. Analysis Services či Reporting Services) spuštěna, vyžadována licence serveru (pro edice Workgroup, Standard a Enterprise) společně s licencemi CAL pro všechna připojená zařízení nebo uživatele.
Před spuštěním instance SQL Serveru musíte serverovou licenci přiřadit některému ze serverů. Tento server se tak stává licencovaným serverem pro tuto konkrétní přiřazenou serverovou licenci. Stejnou licenci nemůžete přiřadit více než jednomu serveru.
Přiřazení serverové licence lze změnit, ne však krátkodobě (tj. ne dříve než za 90 dní od předchozího přiřazení). Přiřazení serverové licence můžete změnit dříve, pokud provoz licencovaného serveru ukončíte z důvodu trvalé hardwarové chyby. Pokud přiřazení licence změníte, server, jemuž licenci přiřadíte, se stává novým licencovaným serverem pro danou licenci SQL Serveru.
CAL = Client Access License, tedy „licence klientského přístupu“. Je to licenční oprávnění, které umožňuje připojení licencovaným uživatelům nebo zařízením přímo nebo nepřímo připojeným k SQL Serveru. CAL licence je možné pořizovat ve dvou variantách – „licence pro uživatele“ nebo „licence pro zařízení“.
„SQL Device CAL“ je licence CAL vázaná na zařízení. Tato licence je vyžadována pro všechna připojená zařízení užívající služeb SQL Serveru, jako je např. osobní počítač, pracovní stanice, terminálový klient, PDA, mobilní telefon apod. Varianta nákupu licence serveru a licence CAL pro zařízení je vhodná zejména v případě, kdy jsou zařízení připojená k SQL Serveru průběžně užívána více uživateli.
„SQL User CAL“ je licence CAL vázaná na uživatele. Tato licence je vyžadována pro všechny připojené uživatele. Při zvolení varianty nákupu licence serveru a licence CAL pro uživatele mohou licencovaní uživatelé využívat služeb SQL Serveru z neomezeného počtu zařízení.
Licenci CAL vázanou na zařízení můžete trvale přiřadit z jednoho zařízení na jiné nebo můžete trvale přiřadit licenci CAL vázanou na uživatele z jednoho uživatele na jiného; nebo můžete dočasně přiřadit licenci CAL vázanou na zařízení náhradnímu zařízení v době, kdy je první zařízení mimo provoz, nebo můžete dočasně přiřadit licenci CAL vázanou na uživatele dočasnému pracovníkovi v době, kdy je uživatel nepřítomen.
SQL CAL licence opravňují každého licencovaného uživatele (SQL User CAL) nebo licencované zařízení (SQL Device CAL) pro připojení k:
- libovolným edicím SQL Serveru 2005 (např. Standard i Enterprise) a všem instancím starších verzí SQL Serveru provozovaných v rámci organizace
- neomezenému počtu SQL Serverů v rámci organizace.
Pro SQL Server 2005 Workgroup Edici ovšem zároveň existuje samostatná SQL Server Workgroup CAL licence, která licencovanému uživateli nebo licencovanému zařízení umožňuje připojení pouze k SQL Serveru 2005 Workgroup Edition! Popravdě řečeno ale moc existenci SQL Server Workgroup CAL licence nechápu. Z ceníku je totiž zřejmé, že cena Workgroup CAL licence je jen o cca 10% nižší, než cena klasické SQL CAL licence (vycházím z ceníku OLP NL, bez SA, bez DPH, z prosince 2005 – „SQL Workgroup CAL 2005 Win32 Eng OLP NL User CAL“ = 4920,- Kč a „SQL CAL 2005 Win32 Eng OLP NL User CAL“ = 5460,- Kč). Cena samotného SQL Serveru 2005 Workgroup Edition je ve srovnání s SQL Serverem 2005 Standard Edition nižší o cca 18%, takže taky nic.
Koupí-li zkrátka v praxi zákazník nejprve SQL Server 2005 Workgroup Edition a k němu SQL 2005 Workgroup CALy, z počátku to pro něj bude o cca 30% levnější, ovšem dokoupí-li později např. SQL Server 2005 Standard Edition, bude muset dokoupit i SQL CAL licence.
Řekněme tedy např., že zákazník zakoupí 1x licenci SQL Server 2005 Workgroup Edition a k ní 100x SQL 2005 Workgroup CAL. Podle OLP NL ceníku z prosince 2005 ho to přijde na 516 600,- Kč bez DPH (492 000,- Kč za SQL workgroup CAL licence a 24 600,- Kč za SQL Workgroup Server). Potom zákazník dokoupí licenci SQL Serveru 2005 Standard Edition a k ní bohužel musí dokoupit i SQL CAL licence, za což zaplatí dalších celkem 575 860,- Kč (546 000,- Kč za SQL CAL licence a 29 860,- Kč za SQL Server Standard). Kdyby ovšem náš zákazník rovnou na počátku zakoupil 100 SQL CAL licencí, zaplatil by za ně ve srovnání s nákupem 100 SQL Workgroup CAL licencí o 54 000,- Kč více, ale následně by při dokoupení SQL Serveru 2005 Standard Edition ušetřil za CAL licence rovných 492 000,- Kč!
Žádná možnost přechodu či upgradu z Workgroup SQL CAL licence na standardní SQL CAL licenci neexistuje.
No, proč dělat věci jednoduše, když to jde složitě, že. :-)
Licence SQL Serveru 2005 i licence SQL CAL jsou nově také nabízeny samostatně ve variantách pro platformy 32bit a 64bit.
Pro platformu 32bitů tyto licence naleznete v ceníku s označením „Win32“, např.:
„SQL Svr Std 2005 Win32 Eng OLP NL“
„SQL CAL 2005 Win32 Eng OLP NL User CAL“
Pro platformu 64bitů pak s označením „x64“ nebo „IA64“, např.:
„SQL Srv Std 2005 x64 Eng OLP NL“
„SQL CAL 2005 x64 ENG OLP NL User CAL“,
„SQL CAL 2005 IA64 ENG OLP NL User CAL“.
Jakákoliv licence SQL CAL (32bit, x64 i IA64) ovšem umožňuje připojení k SQL Serveru nezávisle na platformové verzi SQL Serveru. V praxi tedy můžete použít např. „SQL CAL 2005 Win32 Eng OLP NL User CAL“ pro připojení k „SQL Srv Std 2005 x64 Eng OLP NL“, řečeno v normální řeči – CAL pro 32bit. licenci SQL Serveru umožňuje připojení i k 64bit. licenci SQL Serveru. :-)
Další informace týkající se licenčního režimu Server CAL si přiblížíme formou otázek a odpovědí:
Jaké je srovnání cen Device a User CAL licencí?
1 SQL User CAL = 1 SQL Device CAL
1 SQL Workgroup User CAL = 1 SQL Workgroup Device CAL
1 SQL Win32 User/Device CAL = 1 SQL x64 User/Device CAL = 1 SQL IA64 User/Device CAL
Jaké je srovnání cen platformových verzí SQL Serveru 2005?
SQL Server 2005 Standard Edition Win32 = SQL Server 2005 Standard Edition x64
SQL Server 2005 Enterprise Edition Win32 = SQL Server 2005 Enterprise Edition x64 = SQL Server 2005 Enterprise Edition IA64
Lze kombinovat Device a User CAL licence pro připojení k jednomu SQL Serveru?
Ano, lze. Pro připojení k SQL Serveru můžete používat kombinaci SQL User a SQL Device CALů, z pohledu SAM (Software Asset Management, tedy správy licencí) to však nedoporučuji. Znesnadníte si tak totiž možný softwarový audit. Licenčně to ale problém není.
Je možná změna licenčního režimu CAL licencí?
Ano, licenci SQL Device CAL je možné změnit na licenci SQL User CAL (samozřejmě i naopak), ovšem pouze v případě, že jsou SQL CAL licence pokryté Software Assurance a to v okamžiku prodloužení Software Assurance, příp. při zakoupení CAL licencí v rámci Enterprise Agreement smlouvy v okamžiku prodloužení Enterprise Agreement smlouvy.
Kdy není třeba zakoupit licenci SQL CAL pro připojení k SQL Serveru?
„Licence CAL nepotřebujete pro servery, které jsou licencovány ke spuštění instancí serverového softwaru“, jinými slovy – provozujeme-li např. v rámci organizace více vzájemně propojených SQL Serverů, pak licenci SQL CAL není třeba zakoupit pro samotné SQL Servery.
Dále není třeba zakoupit SQL CAL licence pro uživatele nebo zařízení připojující se k instancím SQL Serveru licencovaných v režimu Per Processor.
Licencování SQL Serveru 2005 v licenčním režimu Per Processor:
Pojmem Per Processor je označována procesorová licence. Ta je vyžadována pro každý procesor dostupný pro relaci operačního systému provozující SQL Server. Tento licenční režim umožňuje připojení neomezeného počtu klientských zařízení či uživatelů.
Chcete-li spustit instance SQL Serveru v prostředí fyzického operačního systému na serveru, potřebujete licenci Per Processor pro každý fyzický procesor používaný prostředím fyzického operačního systému.
Chcete-li spustit instance SQL Serveru v prostředích virtuálního operačního systému na serveru, potřebujete licenci Per Processor pro každý virtuální procesor používaný těmito prostředími virtuálního operačního systému. Pokud prostředí virtuálního operačního systému používá část virtuálního procesoru, tato část se počítá jako celý virtuální procesor.
Pro procesor, který nemůže přistoupit k žádné kopii operačního systému, v němž bude spouštěn serverový software, však nebudete potřebovat licenci. (Nebudete tedy například potřebovat licenci pro procesor izolovaný rozdělením do oddílů nebo jinou podobnou metodou.).
Po určení počtu licencí Per Processor, které potřebujete pro server, musíte serveru přiřadit tento počet licencí. Tento server je licencovaným serverem pro všechny tyto licence. Nesmíte přiřadit stejnou licenci více než jednomu serveru.
Přiřazení licence Per Processor lze změnit, ne však krátkodobě (tj. ne dříve než za 90 dní od předchozího přiřazení). Přiřazení licence můžete změnit dříve, pokud provoz licencovaného serveru ukončíte z důvodu trvalé hardwarové chyby. Pokud přiřazení licence změníte, server, jemuž licenci přiřadíte, se stává novým licencovaným serverem pro danou licenci.
Tento scénář licencování SQL Serveru 2005 je vhodný zejména pro webové aplikace.
To byly základní principy licencování SQL Serveru 2005, nyní se zaměřím na licencování SQL Serveru v rozličných scénářích nasazení, a na další doplňková témata, a to formou otázek a odpovědí.
Je možné z licenčního režimu Server CAL přejít, např. nějakou formou upgradu, na režim Per Processor?
Ne, tento přechod není možný. Licenční režimy Server CAL a Per Processor poskytují zákazníkům optimální možnost výběru vhodného licenčního režimu dle scénáře nasazení SQL Serveru. Doporučuji tedy předem dobře zvážit, který z nabízených licenčních režimů je pro vás v praxi nejvýhodnější.
Existují nějaká pravidla, která by přímo stanovovala, kdy je nutné SQL Server 2005 licencovat v režimu Server CAL, nebo v režimu Per Processor?
Ve většině scénářů nasazení poskytuje SQL Server flexibilní možnost výběru licenčního režimu, umožňující zákazníkům zvolit nejvýhodnější scénář nákupu.
Existují ovšem dvě pravidla, která definují nutnost nákupu licencí SQL Serveru 2005 v licenčním režimu Per Processor:
- Je-li na SQL Server realizován tzv. „Webový přístup“. Tímto pojmem se označuje scénář, kdy je SQL Server použit jako databázový prostředek pro webovou aplikaci, která při svém běhu provádí online dotazy do databáze SQL a získaná data poskytuje přistupujícím uživatelům.Toto pravidlo ovšem neplatí v případě nasazení SQL Server pro intranetovou aplikaci.
- Je-li SQL Server použit jako databáze pro další serverový produkt z řady Windows Server System, který je rovněž licencován v režimu Per Processor. Jedná se např. o Microsoft BizTalk Server, Microsoft Commerce Server nebo Microsoft Content Management Server.
Je možné provozovat více instancí SQL Serveru na jedné relaci OS?
Ano, je to možné. Jedna serverová licence Workgroup, Standard a Enterprise edice, ať už je SQL Server licencován v režimu „Server CAL“ nebo „Per Processor“, nyní umožňuje provoz libovolného počtu instancí v rámci prostředí fyzického nebo virtuálního operačního systému (dříve byla tato možnost pouze u edice SQL Enterprise).
Pro nasazení SQL Serveru 2005 v rámci následujícího příkladu, kdy jsou v rámci prostředí fyzického operačního systému provozovány tři instance SQL Serveru 2005, nám stačí jen jedna serverová licence SQL Serveru 2005, nebo jedna licence typu Per Processor:

Jaké jsou principy licencování SQL Serveru 2005 v rámci virtuálních systémů?
V případě licencování SQL Serveru 2005 v režimu „Server CAL“ je pro každou virtuální či fyzickou relaci operačního systému provozující SQL Server 2005 je vyžadována serverová licence SQL Serveru 2005.
V případě licencování SQL Serveru 2005 v režimu „Per Processor“ je pro každou fyzickou nebo virtuální relaci operačního systému provozujícího SQL Server 2005 je vyžadována licence Per Processor pro každý fyzický nebo virtuální procesor, který tato relace využívá.

V tomto naznačeném příkladu, kdy je SQL Server 2005 nainstalován v rámci tří virtuálních relací operačního systému na jednom fyzickém čtyřprocesorovém serveru, tak v případě licencování SQL Serveru 2005 v režimu Server CAL potřebujeme tři licence SQL Severu, v případě licencování v režimu Per Procesor pak tři licence SQL Serveru Per Processor.
Jaká jsou pravidla licencování SQL Serveru 2005 v případě provozu na „vícejádrových“ procesorech?
Při použití technologie Intel Hyper Threading (HTT) nebo vícejádrových procesorů je licence Per Processor vyžadována pro každý FYZICKÝ procesor (ne logický).

SQL Server 2005 a Multiplexing?
Další zajímavá otázka souvisí s licencováním SQL Serveru 2005 v případě použití tzv. „multiplexování“, tedy nepřímého přístupu uživatelů nebo zařízení k SQL Serveru. Pod tímto pojmem se obecně označuje nasazení SQL Serveru ve scénáři, kdy se uživatelé připojují k SQL Serveru pomocí technického nebo softwarového prostředku, která snižuje počet připojení.
Nejčastější případ je tzv. „aplikační server“, přes který uživatelé přistupují k SQL Serveru. V tomto případě, kdy jsou tedy uživatelé připojeni k SQL Serveru 2005 nepřímo, žádná technologie nesnižuje počet CAL licencí, které je třeba zakoupit, licencujeme-li SQL Server v režimu Server CAL. Licencujeme-li SQL Server v režimu Per Processor, pak tato otázka samozřejmě nemá smysl, neboť licencujeme procesory a ne připojené uživatele nebo připojená zařízení.
Oficiální licenční definice praví:
„Hardware nebo software, který používáte pro sdružování připojení; přesměrování informací; snížení počtu zařízení nebo uživatelů, kteří mají přímý přístup k produktu nebo ho používají; snížení počtu zařízení nebo uživatelů, které produkt přímo spravuje; (někdy označováno termínem multiplexování nebo sdružování), nesnižuje požadovaný počet licencí jakéhokoli typu.“
Jinými slovy – licencujeme-li SQL Server 2005 v režimu Server CAL, pak musíme SQL User CAL zakoupit pro všechny uživatele, kteří se přímo i nepřímo připojují k SQL Serveru, nebo musíme SQL Device CAL zakoupit pro všechna zařízení, jejichž prostřednictvím se uživatelé připojují přímo i nepřímo k SQL Serveru 2005.
Jaké jsou licenční podmínky pro nasazení SQL Serveru 2005 v clusteru, nebo v roli mirror serveru?
U clusteru typu active/passive nebo v případě nasazení SQL Serveru s rolí mirror není vyžadována serverová licence pro pasivní nody clusteru nebo pro mirror server, pokud tento server není využíván k jinému účelu.
V případě nasazení SQL Serveru v clusteru typu active/active je vyžadována serverová licence pro všechny nody clusteru.
Je-li SQL Server 2005, nasazený v clusteru, licencován v režimu Server CAL, pak CAL licence nenásobíme. CAL licence jsou vztaženy na uživatele nebo zařízení (ne na jednotlivé nody SQL clusteru) a umožňují licencovaným uživatelům nebo licencovaným zařízením připojení k neomezenému počtu SQL Serverů používaných v rámci organizace.
Jak jsou licenčně dostupné jednotlivé produktové edice SQL Serveru 2005?
Technické informace o jednotlivých edicích SQL Serveru 2005 najdete zde.
SQL Server 2005 Express Edition – dostupný zdarma ke stažení z webu společnosti Microsoft. V případě požadavku na redistribuci Express edice s „aplikací třetí strany“ je nutné se předem bezplatně zaregistrovat na MS webu - http://www.microsoft.com/sql/editions/express/redistregister.mspx.
SQL Server 2005 Workgroup Edition – je dostupný v licenčních režimech Server CAL (k dispozici je samostatná SQL Server User / Device Workgroup CAL licence) i v režimu Per Processor.
SQL Server 2005 Standard a Enterprise Edition – jsou dostupné v licenčních režimech Server CAL (k dispozici jsou SQL Server User / Device CAL licence) a Per Processor.
SQL Server 2005 Developer Edition – licenčně omezená edice určená pouze pro účely vývoje a testování DB aplikací.
SQL Server 2005 Mobile Edition – jako komponenta je k dispozici v rámci Visual Studia 2005 nebo SQL Serveru 2005. Tuto edici následně můžete nasadit na libovolný počet mobilních zařízení provozujících Microsoft Windows CE 5.0, Microsoft Windows XP Tablet PC Edition, Windows Mobile 2003 Software for Pocket PC, nebo Windows Mobile 5.0, za podmínky, že tato zařízení pracují v režimu stand-alone, tedy za předpokladu, že se tato zařízení nepřipojují nebo neužívají žádné zdroje SQL Serveru nepřítomného na tomto zařízení.
A na závěr jedna perlička – od 1. 12. 2005 – 30. 6. 2006 mohou zákazníci využívající konkurenční komerční DB platformu (Oracle, Sybase) přejít v rámci promoakce na SQL Server 2005 Enterprise Edici se slevou 50% a na SQL Server 2005 Standard se slevou 25%!