2022 novemberében a Microsoft az SQL Server új verziójával a licencelés terén is olyan változtatást vezette be, amely az eddigieknél is nagyobb hangsúlyt fektet a Software Assurance (SA) meglétére.
Az SQL Server licencelési szabályai 2022. november 17-ig
Ahhoz, hogy megértsük a változtatás jelentőségét, ismernünk kell az eddig licencelési szabályokat mely leegyszerűsítve az alábbiak szerint alakult eddig:
Az SQL Server Standard-et „Server + CAL” és mag (per Core) alapon licencelhetjük, míg az Enterprise kiadást csak mag alapon.
Az SQL Server magalapú licencelése elsősorban a nagy, vagy nem megszámlálható felhasználószámú és eszközelérésű adatbázisok licencelésére jelent gazdaságos alternatívát, mivel ebben az esetben a felhasználóknak vagy eszközeiknek nem kell CAL-t biztosítanunk. Emellett az Enterprise kiadás kizárólag mag alapon vásárolható meg.
A licencigény megállapítása
Először azt kell figyelembe vennünk, hogy a licencelt szerverünk futtat-e virtuális gépeken (VM) SQL Servert?
a) Amennyiben nem, tehát csak a fizikai operációs rendszer környezetben futtatunk SQL Servert, abban az esetben a licencigényt az alábbiak szerint állapíthatjuk meg:
- Per Core
- Minden fizikai mag licencköteles
- Legalább 4 magnyi licenc / CPU
- Korlátlan számú felhasználó érheti el
- Server + CAL
- Licencköteles a fizikai szerver
- + User/Device CAL a felhasználó vagy eszközszámnak megfelelően
b) Bonyolultabb a helyzet, ha a licencelt szerverünk VM-ben futtat SQL Server(ek)et.
Ebben az esetben, amennyiben Enterprise licenceket alkalmazunk, dönthetünk úgy, hogy a fizikai processzormag szám alapján licenceljük a szervert, az alábbiak szerint:
- Per Core Enterprise licencek
- Minden fizikai mag licencköteles
- Legalább 4 magnyi licenc / CPU
- Korlátlan számú felhasználó érheti el
- SA nélküli licencek használata esetén a licencelt magszámmal azonos mennyiségű virtuális gépben futhat SQL Server
- SA-zott licencek használata esetén korlátlan számú VM-ben futhat SQL Server
Enterprise licencek használata esetén tehát ha a teljes fizikai magszámnak és a minimum szabályoknak megfelelő mennyiségű licencet biztosítunk a licencelt szervernek, abban az esetben a licencelt szerveren VM-ekben is futtahatunk SQL Server Standard-et vagy Enterprise-t a fent meghatározott mennyiségben.
Standard licencek használata esetén azonban, ha SQL Server VM-ben történő futtatására szeretnénk jogot biztosítani a licencelt szervernek, minden esetben a virtuális gépeknek biztosított virtuális processzormagszám (vCore) vagy a VM szám alapján kell a licencigény kalkulálnunk, az alábbiak szerint:
- Per Core (2022. november 17. előtt)
- Minden vCPU licencköteles
- Minimum 4 Core licenc/VM
- Korlátlan számú felhasználó érheti el
- SA nélküli licencek használata esetén a licencigényt meg kell szorozni a futtató hostok számával
- Server + CAL
- Licencköteles a VM
- SA nélküli licencek használata esetén a licencigényt meg kell szorozni a futtató hostok számával
- + User/Device CAL a felhasználó vagy eszközszámnak megfelelően
Opcionálisan Enterprise licencek használata esetén is választhatjuk a vCore alapú licencelést.
De mi az a „licencelt szerver”?
Fontos, hogy ahogy azt kiemelve látjuk, a virtuális környezet alapján történő licencigény-számítás esetén a licencigényt meg kell szoroznunk virtualizációs clusterben futó VM-ek esetén a futtató hostok számával.
Ennek oka a „licencelt szerver” definíciójából ered: a licencelt szerver minden esetben a fizikai szerver, abban az esetben is, ha a szerver szoftver virtuális környezetben fut.
Ha tehát egy virtuális gépben futó SQL Server-t vCore alapon licencelünk, valójában a virtuális szervert futtató fizikai szervernek biztosítjuk a VM-ben történő futtás jogát az adott vCore számon. Ugyanakkor ha egy virtualizációs clusteren belül a VM „mozoghat”, változtathatja, hogy melyik hosttól kap processzor erőforrásokat, a VM mozgásával a licencelendő szerver is megváltozik.
A licencek azonban SA nélkül 90 naponta egyszer helyezhetők át egyik szerverről a másikra, ezért nem tudják a dinamikusan mozgó VM-eket „követni”, minden fizikai szervert tehát előre kell megfelelően licencelnünk a clusteren belül annak a lehetőségére, hogy egy adott időpillanatban a clusteren belül futó összes SQL Server VM az adott hoston fut.
Az SA-val rendelkező SQL Server licencek ezzel szemben szabadon, időbeli korlátozás nélkül helyezhetőek át egyik fizikai szerverről a másikra, így nem szükséges a licencigényt a futtató hostok számával megszoroznunk, a licencek képesek a „vándorló” VM-eket „követni”.
Nézzünk a fentiekre egy egyszerű példát:
Az ábránkon egy 3 hostos, hostonként 16 magos virtualizációs clusterben 4 virtuális gép futtat SQL Servert, VM-enként 4, összesen 16 vCore-on. A VM-ek „mozgása” nincs korlátozva a clusteren belül.
A fenti számítási szabályok alapján a környezet licencigényére az alábbi alternatívák jöhetnek szóba:
- SQL Server core SA nélkül: 16 x 3 = 48 licencelendő vCore = 24 db 2core licenc
- SQL Server core SA-val: 16 licencelendő vCore = 8 db 2core licenc
- SQL Server per példány alapon, SA nélkül: 4 x 3 = 12 db SQL Server licenc + CAL-ok
- SQL Server per példány alapon, SA-val: 4 db SQL Server licenc + CAL-ok
Fentiekre alternatíva lehet a fizikai környezet processzormagszáma alapján kalkulált mennyiségű Enterprise licenc használata, mely ebben a példában valószínűleg nem gazdaságos.
Mi változott?
Az SQL Server 2022 megjelenésével novemberben a legfontosabb licencelési változás az alábbiak szerint jelent meg a Termékfeltételekben:
„Kiszolgálólicencek (rendszermagonkénti) – Egyedi Virtuális Operációsrendszer-környezetek szerinti licencelés
Kizárólag előfizetési licencek vagy érvényes Frissítési Garanciával rendelkező előfizetési licencek esetében érhető el”
Az új szabályok alapján tehát vCore alapon kizárólag akkor licencelhetjük SQL Servereinket, ha licenceinkre SA-val rendelkezünk, vagy előfizetéses licenceket használunk.
A fent megfogalmazott licencelési szabályok tehát az alábbiak szerint módosulnak a vCore alapú licencelés esetén:
- Per Core – kizárólag SA-zott vagy előfizetéses licencek használatával
- Minden vCPU licencköteles
- Minimum 4 Core licenc/VM
- Korlátlan számú felhasználó érheti el
- SA nélküli licencek használata esetén a licencigényt meg kell szorozni a futtató hostok számával
Fenti példánknál maradva az adott környezet licencelési alternatívái közül tehát az első megszűnik:
- SQL Server core SA nélkül: 16 x 3 = 48 licencelendő vCore = 24 db 2core licenc
- SQL Server core SA-val: 16 licencelendő vCore = 8 db 2core licenc
- SQL Server per példány alapon, SA nélkül: 4 x 3 = 12 db SQL Server licenc + CAL-ok
- SQL Server per példány alapon, SA-val: 4 db SQL Server licenc + CAL-ok
Kit érintenek a változások?
Leginkább azoknak kell figyelemmel lennie a változásokra, akik új, 2022 verziójú SQL Server licencek beszerzését tervezik. Nekik a fentieket a szükséges licencigény megállapításánál vagy az SA szükségességének eldöntésénél figyelmbe kell venniük. Ez abban az esteben is igaz, ha a downgrade jog révén alacsonyabb verziójú SQL Server telepítését tervezzük, hiszen a beszerzett licenc licencelési szabályait kell ekkor is figyelmbe vennünk, nem a telepített verzióét.
Akik jelenleg is meglévő licencekkel rendelkeznek, azokra csak bizonyos esetekben van közvetlen hatása a változásoknak:
Meglévő, SA nélküli, 2022. november 17. előtti licencek esetében a változásoknak nincs jelentősége, a licencek a saját verziójuknak megfelelő szabályok szerint alkalmazhatók továbbra is.
SA-zott licencek esetében az új szabályok csak abban az esetben lépnek életben, ha élünk az SA által nyújtott verzió upgrade joggal (pl. eddig 2019 SQL Servereinket 2022-re upgrade-eljük).
Ebben az esetben, ha eddig vCore alapon licenceltünk, alapvetően nincs mitől tartanunk, hiszen SA-zott licenceink vannak, amelyek továbbra is biztosítják a vCore alapú licencelés jogát.
A jövőben azonban még alaposabban meg kell fontolnunk az SA meghosszabbítását. Az SA elengedése eddig is kockázatot rejtett magában (a licencigény megnövekedhetett az SA elengedésével a hostok számával történő szorzás miatt), de ez kezelhető volt optimalizációval (pl. a VM-ek „mozgásának” korlátozásával). Mostantól azonban ha az SA-t elengedjük, a licenceinket a jövőben nem használhatjuk vCore alapú licencelésre, amely egy bizonyos környezetek esetén teljesen licenceletlen állapotot idézhet elő.
OPEX jövő
Jól látható, hogy a Microsoft az egyszeri beruházások helyett több fronton is a folyamatosan fenntartandó költségek felé tereli az ügyfeleit.
Míg portfóliójában egyre nagyobb teret nyernek a user alapú előfizetések, addig a hagyományosan beruházás alapú on-premise szerver licencek esetében egyre megkerülhetetlenebbé teszi az SA meglétét: a SharePoint és Project Server licencelési modellje esetében az SA elengedhetetlen lesz minden 2019 utáni „verzió” eléréséhez és ez a változás várható az Exchange Server esetében is. A Windows Server és System Center esetében az SA nyújtotta előnyöket tovább bővítette, rugalmasabbá téve ezáltal a licencelést, az SQL Server esetében pedig ahogy most látjuk, tovább szűkítette az SA nélküli licencek használati lehetőségét. Alternatívaként pedig mindezekre rendelkezésre állnak a szerver licencek előfizetéses változatai amelyek most már szélesebb körben is elérhetőek a CSP program keretében, cserébe a folyamatos OPEX fenntartásért.