Všechno, co jste kdy chtěli či potřebovali vědět o licencích Microsoft SQL Serveru. Přesně řečeno, není to úplně všechno, co se o nich dá říct, ale i tak je to pravděpodobně mnohem více, než jste se kdy o licenčních otázkách chtěli dozvědět. SQL Server má nejbohatší možnosti licenčních řešení, protože je to (zatím) jediný produkt mezi všemi produkty společnosti Microsoft, který je zařazen do dvou z devíti licenčních modelů (Server/CAL a Per Processor). Přitom je to klíčová aplikace mnoha podnikových řešení, a proto je potřeba znát, jak ji provozovat legálně.

Darina VodrážkováDarina Vodrážková
LicenceLicence
26.05.2008 13:12:0026.05.2008 13:12:00

Darina Vodrážková

licenční expert a konzultant

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

Co byste také měli vědět o SQL Serveru

Počet nasazených SQL Serverů v podnicích roste s každým měsícem – a to ještě předtím, než bude dostupná netrpělivě očekávaná, a přeci ještě odložená, nová verze. Microsoft si na ní dává skutečně záležet – pro většinu firem jde přece o životně důležitou aplikaci. Jako taková musí být spolehlivá a měla by být také legální! Protože však víme, že není úplně snadné vyznat se v licenčních podmínkách – zvlášť jestli nemáte ve zvyku číst ty smlouvy, kterými začíná každá instalace :-) – a protože je dobré si licenční požadavky ujasnit už ve chvíli, kdy navrhujete architekturu řešení, přinášíme vám další z „osvětových“ článků, který si klade za cíl objasnit vám otázky okolo licencí SQL Serveru. V tuto chvíli ještě nejsou dostupné oficiální informace o licenčních podmínkách pro verzi 2008 (čekáme je nejdříve s červencovým, nebo možná až říjnovým vydáním dokumentu Product Use Rights), zdá se však, že nedojde k žádným zásadním změnám. Proto můžeme s přípravou na řádné licenční pokrytí začít už teď – a pak si to třeba zopakujeme na podzim, abychom se vyladili na novou verzi. Zkušenost potvrzuje, že opakování není nikdy dost, ale vy se také nemusíte naučit všechno – od toho máte DAQUAS, aby vám poradil, jak vypadá správné řešení vašeho konkrétního scénáře.

Předně si musíme vyjasnit několik základních licenčních postulátů, které se vztahují na všechny produkty společnosti Microsoft. Prvním je takzvané pravidlo multiplexingu.

Multiplexing

Už jsme o něm psali v článku Licence Windows Server jako na talíři, ale pro SQL Server jsou jeho konsekvence zvláště zásadní, tak si je připomeneme. Toto ustanovení (pod písmenem Q v Universal License Terms, úvodu Product Use Rights) říká, že pokud uživatel či zařízení přistoupí k nějakému softwaru prostřednictvím jiného zařízení či softwaru, který sdružuje počet připojení, nesníží to nijak potřebu klientských licencí. Čili že CAL či jiné oprávnění potřebujete bez ohledu na to, zda přistupujete přímo nebo nepřímo (prostřednictvím tzv. multiplexoru). Snad nám to srozumitelněji poví vložený obrázek.

Multiplexing v přístupu k serverovým produktům

Vyplývá z něj, že každý uživatel, který se dostane k datům uloženým v SQL Serveru, potřebuje licenční pokrytí – a to buď kombinací licencí pro server a klientský přístup (CAL), jak si vysvětlíme za chvíli, nebo licencí Per Processor. Je lhostejno, že „vědomě“ uživatelé přistupují pouze k aplikaci, která jim data „prezentuje“; je lhostejno, že vůči SQL Serveru se multiplexor tváří jako jediné zařízení či jediný uživatel. Licenční politika hovoří jasně. Výjimku tvoří případy, kdy na cestě mezi „čtenářem“ či „tvůrcem SQL dat“ slouží stará dobrá ruční práce. Tedy pokud data odněkud někam nepřenáší skripty, joby či aplikace, ale vyžaduje to zásah lidské ruky (zkopírování, uložení, přeposlání apod.).

SQL a Windows

Dále si připomeňme, že všichni, kdo používají SQL Server, logicky také použili Windows Server, na kterém SQL běží. To vyplývá z licenčních podmínek pro Windows Server (nejen verze 2008, ale také 2003…), o kterých jsme již podrobně psali. Pro CAL k Windows Serveru je důležité rozlišit, zda jde o uživatele anonymního (nijak neověřeného), či neanonymního. U SQL Serveru toto dělení padá a pokrytí je potřeba mít pro jakékoli uživatele. V případě těch anonymních (například čtenářů internetových stránek) nezbývá než sáhnout k licenci Per Processor, která pokrývá přístup neomezeného počtu uživatelů.

No lease, no hosting…

Tak, deduktivní schopnosti vám už jistě napověděly, jak je to s SQL licencemi, ale my si ještě napřed odskočíme kousek jinam, k jinému univerzálnímu požadavku smluv k produktům Microsoft. Všechny běžné způsoby pořízení licencí (OEM, krabice, multilicence) zapovídají poskytnout takto získané produkty k použití třetí straně, tedy například pronajmout nebo hostovat. Jediná legální cesta k těmto službám vede přes speciální smlouvu SPLA, Service Provider License Agreement. (Všechno, co o ní potřebujete vědět, se dozvíte na adrese spla@daquas.cz nebo v rubrice SPLA .) Firma, která si koupí procesorové licence SQL, je nemůže nabídnout k použití několika dalším firmám v sousedství, přestože si zajistí právo přístupu pro neomezený počet uživatelů.

Edice

Samozřejmě, mezi šesti dostupnými edicemi SQL Serveru se najdou i takové, na jejichž použití či na přístup k nim nepotřebujete žádné klientské licence. Jsou to edice Compact (mohli jste zaslechnout i pojmy jako SQL Anywhere či Mobile Edition), Express (nástupce MSDE) a Developer. Compact i Express jsou zcela zdarma a můžete je i šířit, pro použití Compact je registrace povinná. Edice Developer je sice zadarmo jenom skoro (stojí cca 1 500 Kč), ale zato je to plně funkční ekvivalent edice Enterprise. Oproti ní má dokonce ještě jednu vlastnost navíc – a tu ocení především programátoři, pro něž je tato edice určena: dokáže běhat i na Windows XP Professional nebo Vista Business, nemusí pod sebou nutně mít serverový OS. Licenčně je samozřejmě omezena výhradně na vývoj a testování aplikací, licence se přiděluje vývojáři – per user, takže ten ji může mít pak i na více strojích, pokud bude jejím jediným uživatelem.
Pro produkční prostředí jsou dále typické tři edice „komerční“: SQL Server Standard, Enterprise a Workgroup Edition. Jak je to s jejich licencemi se dočtete za chvíli, předtím ještě upozorníme, že se SQL Server dodává v různých variantách pro různé OS: 32bitové, 64bitové a pro Intel Itanium. Při pořízení serveru v multilicenci je můžete libovolně měnit, stačí vám na to jen stáhnout či zakoupit příslušná média.

Licenční pokrytí SQL Serveru (tedy jeho edic Workgroup, Standard a Enterprise) lze řešit dvěma cestami: licence pro Server + CAL a licence Per Processor, tzv. PPL.

Server + CAL

Zvolíte-li si režim Server + CAL, potřebujete jednu serverovou licenci pro každý počítač, na kterém SQL Server poběží – bez ohledu na to, kolik má procesorů či jader. Je potřeba si uvědomit, že i hardwarová partition nebo blade jsou považovány za oddělené servery. Klientské licence si pak můžete zvolit Per User nebo Per Device. Licence Per User umožňuje každému uživateli přístup ke všem SQL Serverům v organizaci z jakéhokoli zařízení. Licence Per Device se uplatní především na místech se směnným provozem, protože umožní všem uživatelům daného zařízení přístup ke všem SQL Serverům podniku. Mé oblíbené rčení říká, že ke každému pravidlu je nejméně jedna výjimka. Tak sem s ní: CAL k edici Workgroup jsou o něco levnější než CAL pro edici Standard/Enterprise (ano, tyto edice mají jednu společnou CAL), a zřejmě právě proto nemůžete s touto licencí použít servery jiných edic. Naopak s CAL bez přídomku můžete k Standard, Enterprise i Workgroup. Z předchozích řádků jistě vyplynulo, že můžete mít v síti více různých edic SQL Serveru, podle toho, jak to vyhovuje požadavkům jednotlivých aplikací. Od verze 2005 umí i Standard edice podporovat dvouuzlový cluster, ale je dost jiných funkcí a vlastností, které najdete až v edici Enterprise.

Per Processor

Název tohoto licenčního modelu je, myslím, dost jasný sám o sobě. Přesto stojí zato si připomenout, že licencí je potřeba tolik, na kolika procesorech poběží operační systém, nad nímž SQL Server jede. Takže, pokud nepoužíváte virtualizaci, která by vám umožnila efektivně přidělit OS jen určitý počet procesorů, budete mít tolik SQL PPL, kolik je všech procesorů v počítači (i kdybyste nastavili SQL Serveru afinitu jen k některým z nich).

Procesorová licence je v podstatě jedinou variantou tam, kde potřebujete pokrýt přístupy anonymních uživatelů. Tam, kde jsou uživatelé (nebo zařízení) známi, můžete mezi způsoby pokrytí zvolit podle toho, co je pro vás výhodnější. Záleží na kolika procesorech kolika počítačů celé SQL řešení poběží. S takovým počítáním vám ale samozřejmě rádi pomůžeme, takže teď se můžeme věnovat další otázce – a tou jsou

Komponenty SQL

SQL Server obsahuje několik relativně samostatných částí, což z licenčního pohledu vyvolává otázku, kdy je a kdy není potřeba kompletní licence. Pro služby serveru (jako jsou například Reporting Services nebo Analysis Services) platí, že každý počítač, na kterém běží, musí být pokryt serverovou licencí – i když tam bude třeba jen jedna jediná služba.

Na druhé straně jsou komponenty, jejichž seznam je ke čtení v licenční smlouvě nebo v Product Use Rights, které mohou být nainstalovány všude tam, kde je přidělena licence SQL CAL, případně úplně kdekoli v organizaci, pokud má podnik procesorovou licenci(e). Tímto „kouskem“ SQL Serveru je například SQL Server Management Studio a vůbec „management“ nástroje nebo třeba taky SQL Server Books Online či Connectivity Components.

SQL v clusteru

Řekli jsme už, že i edice Standard umí pracovat ve dvouuzlovém clusteru. Z licenčního pohledu je ovšem ještě důležité, zda je to cluster active/active nebo active/passive. Pro pasivní stroj clusteru (ten, který se začne používat až po výpadku primárního, aktivního stroje) totiž licenci nepotřebujete. Ve vztahu k výjimkám z pravidel dlužno podotknout, že toto ustanovení je také výsadou SQL Serveru. Jinak je nutné licenční pokrytí vždy pro všechny clusterované počítače.

Instance

K edicím Standard a Workgroup je potřeba získat licenci pro každé operační prostředí (ať již fyzické nebo virtuální), ve kterém se bude SQL Server spouštět. V jednom operačním prostředí můžete pak pod touto licencí vytvořit i více instancí. Od SP2 k SQL Serveru pro edici Enterprise ale stačí pokrýt fyzické prostředí a pak je možno spouštět již neomezené množství instancí ve virtuálních OSE.

SQL Runtime

Mnoho aplikací – ať již přímo z dílny Microsoft či od jiných dodavatelů – vyžaduje ke svému fungování SQL Server jako datové úložiště, a tedy i licenční pokrytí pro SQL Server. Upozorňuje na to další z úvodních univerzálních licenčních ustanovení v Product Use Rights: to říká, že použití dvou a více produktů společně vyžaduje samostatné licenční pokrytí každého z nich. Typicky jsou to například produkty rodiny System Center: Operations Manager a Configuration Manager. Jejich licence ovšem Microsoft nabízí i ve verzi „with SQL Technology“, a ta obsahuje tzv. SQL Runtime. To je klasická edice Standard, kterou smíte nainstalovat i na jiný počítač, než kde poběží samotný SC manager, ale nesmíte ji využít k ničemu jinému než pro ukládání dat daného produktu, s nímž byla získána. Na druhou stranu pak už nemusíte řešit licence CAL, takže je tato nabídka poměrně výhodná. Když ale už SQL Server s dostatečným pokrytím CAL (nebo PPL) máte, nebo jej plánujete používat i na něco jiného, můžete samozřejmě pracovat s klasickými licencemi.

Podobnou možnost jako Microsoft sám mají i jiní výrobci, jejichž aplikace se bez SQL Serveru neobejdou. Mohou uzavřít speciální smlouvu, která jim umožní (od určitého objemu) pořizovat SQL Server levněji a poskytovat jej výhradně k použití s danou aplikací v rámci tzv. programu ISV Royalty Runtime. Tato cesta se nejčastěji využívá u ERP systémů. SQL Runtime skutečně nelze použít pro žádný jiný účel než k aplikaci, s níž byl pořízen.