Na začátku si připomeneme známá pravidla: Každý uživatel nebo zařízení, které přímo vkládá, získává nebo prohlíží data z databáze SQL Serveru, musí mít přidělenou přístupovou licenci. Existují dva licenční modely: Server/CAL a Per Core. Ten první se využívá, známe-li přesný počet přistupujících uživatelů (zařízení). Ten druhý, Per Core, pokud se jedná o přístup velkého počtu uživatelů (zařízení) nebo o anonymní přístup, kdy nejsme schopni přistupující uživatele (zařízení) spočítat, identifikovat.

Radek ŽaludRadek Žalud
LicenceLicence
21.10.2014 11:48:0021.10.2014 11:48: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

Multiplexing – opravdu na tom záleží?

Na začátku si připomeneme známá pravidla: Každý uživatel nebo zařízení, které přímo vkládá, získává nebo prohlíží data z databáze SQL Serveru, musí mít přidělenou přístupovou licenci. Existují dva licenční modely: Server/CAL a Per Core. Ten první se využívá, známe-li přesný počet přistupujících uživatelů (zařízení). Ten druhý, Per Core, pokud se jedná o přístup velkého počtu uživatelů (zařízení) nebo o anonymní přístup, kdy nejsme schopni přistupující uživatele (zařízení) spočítat, identifikovat.

K multiplexingu dochází, jestliže uživatel nebo zařízení vkládá, získává nebo prohlíží data z databáze SQL Serveru prostřednictvím jiného zařízení či softwaru, který sdružuje počet připojení. Například prohlíží data v databázi prostřednictvím rozhraní webové aplikace, nebo data vkládá prostřednictvím jiné aplikace. Takový nepřímý přístup nijak nesnižuje potřebu klientských licencí. Přístupovou licenci či jiné oprávnění potřebujete bez ohledu na to, zda přistupujete přímo, nebo nepřímo (prostřednictvím tzv. multiplexoru). Srozumitelně to poví obrázek:

Vyplývá z něj, že každý uživatel nebo zařízení, které vkládá, získává nebo prohlíží data z databáze SQL Serveru, potřebuje licenční pokrytí. 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.).

Tento popis se týká i využití webových služeb (např. stáhnutí aktuálních kurzů banky), kdy se data ze služby automaticky ukládají do aplikace respektive do databáze zákazníka. Na začátku je nutné si uvědomit, odkud jsou data získávána. Vkládají data přímo nebo nepřímo (multi­plexing) do databází webových služeb koncoví uživatelé? Známe je? Víme, kolik jich je? Nepřímý přístup může zahrnovat i cestu přes několik dalších serverů, na jejich celkovém počtu nezáleží. Stále je však vyžadována licence pro koncového uživatele nebo zařízení, a pokud není možné určit jejich celkový počet, nelze využít licenční model Server/CAL a je nutné pořídit licence Per Core.

Jestliže jsou data na server zákazníka nahrána ručně, například ze souboru umístěného na USB klíčence nebo ze souboru, který je přílohou mailu, pak přístupovou licenci SQL CAL potřebuje pouze uživatel, který takto získaná data nahrává na server, nikoli uživatel, který provedl export na přenosné úložiště nebo přiložil soubor s daty k mailu. Jestliže jsou ale data na server nahrána automatickým procesem (např. stisknutí tlačítka v aplikaci spustí přenos dat z jednoho systému do druhého), pak všichni uživatelé, kteří k serveru přistoupili přímo, nebo nepřímo prostřednictvím automatizovaného procesu, musí mít přidělené licenční pokrytí pro SQL.

Multiplexing je jednou z nejčastějších licenčních chyb, které snadno spáchají uživatelé z neznalosti užívacích podmínek produktů a partneři z neznalosti úplného scénáře, v němž se daná aplikace bude využívat. Často licenční pokrytí Server/CAL vyhovuje v okamžiku nasazení aplikace, ale později dojde k jejímu propojení s dalšími zdroji, k dalšímu rozvoji – a ten přinese nutnost změny. Bohužel neexistuje varianta bezbolestného přechodu z modelu Server/CAL do modelu Per Core, vždy to bude znamenat nový nákup. Proto je potřeba promýšlet vhodné licenční alternativy i z pohledu budoucího rozvoje. Až budete pořizovat nové řešení s SQL Serverem, my se vás určitě zeptáme.

Příklady

K ERP systému přistupuje současně maximálně 10 uživatelů. Kolik musím mít přístupových licencí k SQL Serveru?

Vzhledem k tomu, že licence se přiřazuje uživateli a na jiného může být převedena až po 90 dnech, tak každý, kdo během této doby využije ERP systém (a tedy využije i SQL Server za ním), musí mít vlastní licenci SQL CAL, i když samotné ERP řešení povoluje přístup 10 uživatelů v jedné chvíli, ale v principu neomezený (tzv. konkurenční, souběžný).

ERP systém si stahuje automaticky kurz z webové služby České národní banky. Jak má být tento přístup do ERP systému, potažmo jeho SQL Serveru zajištěn z pohledu licencí?

Kdo, kromě přímých uživatelů ERP systému, musí mít přístupovou licenci, záleží na tom, jakým způsobem se bude import dat dělat:

  1. Prostřednictvím naplánované úlohy, spouštěné pod speciálním účtem.
  2. Uživatel zmáčkne tlačítko v aplikaci, a tím spustí stahování dat z webové služby a ERP systém automaticky uloží data do databáze.
    Obě tyto varianty využívají multiplexing. Uživatelé vkládají data do databází webové služby, ta se odtud automaticky stahují a ukládají do ERP systému používajícího SQL Server. Tito uživatelé tedy nepřímo k vašemu ERP systému přistupují, a protože není jasné, kolik jich je, a nelze jim přidělit CAL, musí být řešení pokryto licencí Per Core.
  3. Uživatel data z webové služby přepíše do dialogového okna aplikace. Ta je zpracuje a uloží do databáze.
    U této varianty nedochází u uživatelů, kteří vkládají data do databází webové služby, k nepřímému přístupu do ERP systému. Není tedy potřeba těmto uživatelům přidělovat licence SQL. Licenci potřebuje jen ten uživatel, který data zapisuje do ERP systému.

Znamená to, že pokud aplikace automaticky stahuje přes webovou službu informace z jiného systému a ty ukládá do SQL Serveru, musí být tento SQL Server pokrytý licencí Per Core?

V případě, že nejsme schopni spočítat všechny koncové uživatele systému, odkud se data přes webovou službu automaticky stahují, pak ano.
Pokud je ale známe (a vyplatí se to více), je možné jim přiřadit CAL. Také pokud budou informace přepsány do systému ručně, stačí CAL jen pro toho, kdo je vloží.