Termini, modalità e calcolo delle licenze
Come orientarsi nel licensing di SQL Server: terminologia di base, modalità di concessione delle licenze, il numero di istanze eseguibili e calcolo delle licenze.
SQL Server è un DBMS (Database Management System) relazionale sviluppato da Microsoft e viene utilizzato per gestire database dalle dimensioni e strutture più disparate. Insieme a Oracle Database e MySQL è una delle piattaforme per basi dati più diffuse al mondo grazie alle sue caratteristiche e funzionalità per l’archiviazione, l’elaborazione, l’analisi e la sicurezza dei dati.
Può essere utilizzato per vari scopi, come lo sviluppo di applicazioni, l’esecuzione di siti web, l’hosting di magazzini di dati o per supportare soluzioni di Business Intelligence. Tra i prodotti MS è spesso considerato il più “ostico” a causa delle sue regole di licenza non semplici e in continua evoluzione.
Prima di addentrarci nel licensing per SQL Server, teniamo presente che ogni versione ed edizione di SQL ha specifici termini di licenza, diritti e funzionalità.
La terminologia di base in riferimento a SQL Server
Vediamo meglio le differenze tra edizione e versione e le caratteristiche funzionali.
- Versione: si tratta di una distribuzione di SQL Server che viene periodicamente aggiornata con migliori funzioni e performance e maggiori affidabilità e sicurezza. L’ultima versione pubblica è SQL Server 2022, disponibile da gennaio 2023, che Microsoft definisce “the most Azure enabled release”, ovvero la release di SQL Server maggiormente predisposta all’integrazione con Azure. Altre versioni precedenti sono 2019, 2017, 2016, 2014 ecc.: ad esempio la versione 2014, già End Of Life (EOL), ha iniziato la fase di Extended Security Updates (ESUs) il 9 luglio 2024.
Quasi sempre all’interno di contratti multi-licenza e CSP è possibile sfruttare il downgrade right, ovvero si ha il diritto di utilizzare versioni rilasciate in precedenza senza doverle acquistare: ad esempio, se si acquista oggi attraverso MPSA il prodotto SQL Server 2022, si può eseguire il downgrade dell’istanza a qualsiasi delle edizioni precedenti.
- Edizione: si tratta delle varie tipologie di piattaforma SQL Server con scopi, funzionalità e prezzi differenti. Le edizioni gratuite disponibili con la versione più aggiornata di SQL Server sono la Express e la Developer, mentre a pagamento troviamo le edizioni Standard ed Enterprise. Sono inoltre disponibili una serie di edizioni specializzate come Azure SQL Database, completamente in cloud e anche una Web Edition, un’opzione a costo totale di proprietà ridotto per provider di servizi di hosting web, che però è disponibile solo attraverso il Microsoft Services Provider License Agreement (SPLA).
Vediamo meglio le principali, dividendole in gratuite e commerciali:
Opzioni gratuite
- Developer Edition: offre strumenti per sviluppatori, è completamente gratuita, per ottenerla bisogna registrarsi per scaricarla. Non è consentita per alcun carico di lavoro di produzione, ma solo per lo sviluppo.
- Express Edition: si tratta di un’edizione gratuita e senza particolari vincoli di utilizzo ma che presenta limiti tecnici di memoria e delle funzionalità di base adatta per applicazioni embedded e progetti di scala ridotta.
Opzioni commerciali
- Standard ed Enterprise: si tratta delle due edizioni principali di SQL, che l’una dall’altra differiscono per caratteristiche tecniche.
La Standard, infatti, è più adatta per progetti semplici in cui non sono richieste funzionalità avanzate di analisi dati, sicurezza e gestione; è una scelta cost-effective per implementazioni con esigenze moderate di prestazioni e scalabilità.
L’edizione Enterprise, invece, comprende tutte le funzionalità di base della Standard Edition più altri strumenti tipici dei database di alta fascia con prestazioni velocissime, virtualizzazione illimitata, elementi di business intelligence end-to-end allo scopo di «abilitare livelli di servizio elevati per carichi di lavoro cruciali e l’accesso dell’utente finale alle informazioni dettagliate sui dati»
Per quanto riguarda il downgrade delle edizioni, c’è una regola di base: se assegni una licenza SQL Server Enterprise a un host, puoi eseguire al suo interno sia un’istanza SQL Server Enterprise sia un’istanza SQL Server Standard.
Non è possibile invece il contrario, perché la SQL Server Standard è un’edizione considerata “più piccola” e non può quindi contenere SQL Server Enterprise. Unica eccezione a quando appena scritto è rappresentata dall’AHB (Azure Hybrid Use Benefit) dove è possibile coprire istanze Enterprise con licenze Standard applicando ai core utilizzati un moltiplicatore di 4 (ovvero servono 4 core Standard per coprire 1 core Enterprise).
Modalità di concessione in licenza
La prima e più importante differenza in termini di licensing tra SQL Server Standard e SQL Enterprise è la modalità di licenza. Con l’edizione Standard è possibile scegliere sia il modello Server+CAL sia la licenza per core, mentre SQL Server Enterprise è disponibile solo tramite il modello di licenza per core*.
*Attenzione: il fatto che le licenze SQL Server Standard Core ed Enterprise Core vengano vendute in pacchetti dual core può creare confusione. Se a Microsoft si dice che si vogliono 88 licenze, considerando che vengono venduti in pacchetti da due core (e quindi due licenze), si rischia di acquistarne il doppio.
Come abbiamo anticipato prima, le licenze si possono concedere in due modi:
Server+CAL (licenza di accesso server+licenze di accesso client)
Al momento solo SQL Server Standard dispone di questo modello di licenza.
Chi ha acquistato licenze SQL Server Enterprise con il modello Server+CAL prima del 1 aprile 2012 può ancora rinnovare, indipendentemente dal fatto che la garanzia Software Assurance (SA) sia stata rinnovata o meno, ma non può acquistare nuove licenze.
La concessione di licenze SQL secondo il modello Client Access Licenses (CAL), come specificato nei diritti di utilizzo del prodotto, richiede che ogni istanza di SQL (virtuale o fisica) sia coperta da una singola licenza di SQL Server e che ogni utente e/o dispositivo che accede direttamente o indirettamente a un server SQL con licenza debba avere una licenza CAL (user/device CAL) di SQL Server della stessa versione o più recente. Per esempio, per accedere a un server SQL Server 2019 Standard Edition, un utente avrà bisogno di una CAL di SQL Server 2019 o 2022.