Guida ai modelli e alle opzioni di SQL Server
Scegliere il modello di licenza corretto per Microsoft SQL Server è una delle decisioni più importanti nella pianificazione di un’implementazione. Una licenza adeguata garantisce efficienza dei costi, scalabilità futura e conformità legale nell’uso del software. Al contrario, una scelta sbagliata può comportare spese inutili o violazioni delle politiche di licenza.
Microsoft SQL Server offre principalmente due modelli di licenza che le organizzazioni devono considerare in base alle proprie esigenze:
- Licenza per core
- Licenza per server + CAL (Client Access License)
Di seguito esploreremo in dettaglio ciascun modello, le sue caratteristiche, i vantaggi, le limitazioni e gli scenari consigliati. Analizzeremo inoltre alcune regole generali per scegliere tra di essi, confronteremo come si applicano alle diverse edizioni (Standard vs. Enterprise), evidenzieremo errori comuni da evitare e forniremo esempi pratici su come calcolare le licenze in varie situazioni.


Licenza per Core
Nel modello di licenza per core, la licenza si basa sulla potenza di elaborazione del server. Ciò significa che devono essere concessi in licenza tutti i core fisici della macchina in cui verrà eseguito SQL Server. Microsoft stabilisce un minimo di 4 core per server (o per processore fisico), anche se il processore ha meno di 4 core disponibili. In pratica, le licenze SQL Server in questo schema vengono commercializzate in pacchetti che coprono 2 core ciascuno, quindi vengono sempre acquistate in coppia.
Il grande vantaggio della licenza per core è che non sono richieste CAL (licenze di accesso client) aggiuntive. Questo consente a un numero illimitato di utenti o dispositivi di connettersi al server SQL, sia dall’interno dell’organizzazione che dall’esterno (ad esempio applicazioni web pubbliche), senza la necessità di concedere in licenza ogni singolo utente. Per questo motivo, il modello per core è ideale negli scenari in cui:
- Il numero di utenti o dispositivi che accederanno al database è elevato, difficile da determinare con precisione o in costante crescita.
- Si utilizzano ambienti virtualizzati o cloud con più istanze di SQL Server, dove sarebbe complesso o costoso gestire le CAL per ogni istanza o utente.
- È richiesta la massima flessibilità e scalabilità nell’accesso, ad esempio in applicazioni aziendali di ampia portata o servizi online per i clienti.
Con la licenza per core, la preoccupazione principale è coprire correttamente la capacità dell’hardware. Tutti i core fisici dedicati a SQL Server devono essere coperti da licenze. Se un server ha, ad esempio, 8 core fisici in totale, sarà necessario acquisire licenze per quegli 8 core (equivalenti a 4 pacchetti da 2 core). Anche se il carico di lavoro reale è basso, Microsoft richiede che venga concessa in licenza l’intera capacità del server o della macchina virtuale assegnata.
Questo modello di licenza è solitamente raccomandato per organizzazioni medie e grandi, in particolare quelle che:
- Hanno centinaia o migliaia di dipendenti e dispositivi che accedono ai dati.
- Offrono servizi basati su SQL Server a utenti esterni (clienti, pubblico generale) dove non è praticabile ottenere una CAL per ciascuna persona.
- Dispongono di infrastrutture dinamiche o elastiche (ad esempio, nel cloud) in cui il numero di istanze o utenti può variare in modo significativo.
In sintesi, la licenza per core offre semplicità in termini di controllo degli accessi (poiché non è necessario tenere traccia di utenti o dispositivi) e scalabilità illimitata nelle connessioni client. In cambio, può essere più costosa in ambienti piccoli, poiché obbliga ad acquistare un minimo di core anche se il database ha pochi utenti. Per questo è fondamentale valutare se l’investimento è giustificato dal numero attuale e futuro di utenti prima di optare per questo modello.
Licenza per Server + CAL
Il modello Server + CAL (Client Access License o Licenza di Accesso Client) si basa su due componenti:
- Licenza server: si acquista una licenza per l’installazione del software SQL Server su un server (fisico o virtuale). Questa licenza copre il diritto di eseguire il software su quel server.
- Licenze di accesso (CAL): per ogni utente o dispositivo che si connetterà a SQL Server è necessaria una CAL. In altre parole, ogni persona che utilizza il database, o ogni dispositivo da cui si accede, deve essere coperto da una licenza di accesso.
In questo schema, prima si concede in licenza il server stesso e poi si acquistano le CAL necessarie in base al numero di utenti o dispositivi client. Se, ad esempio, 10 dipendenti utilizzeranno il database, si acquista 1 licenza SQL Server (per il server) e le 10 CAL corrispondenti (una per ciascun dipendente oppure per ciascun dispositivo utilizzato, a seconda del tipo di CAL scelto).
Che cos’è esattamente una CAL?
Una CAL non è un software da installare, ma un permesso legale per accedere ai servizi di SQL Server. Non concede diritti di installazione, bensì consente a un utente o a un dispositivo client di connettersi all’istanza di SQL Server con licenza. Esistono due tipi di CAL disponibili:
- CAL Utente: concede la licenza a una persona specifica (utente nominato). Tale utente può connettersi da qualsiasi dispositivo, ma la licenza è individuale per lui/lei.
- CAL Dispositivo: concede la licenza a un dispositivo (ad esempio un PC, un laptop o un terminale specifico). Qualsiasi utente può utilizzare quel dispositivo autorizzato per accedere a SQL Server.
La scelta tra CAL Utente o Dispositivo
La scelta tra CAL Utente o CAL Dispositivo dipenderà dal modo in cui l’organizzazione utilizza SQL Server. Ad esempio:
- Se i dipendenti accedono spesso al server da più dispositivi (ad esempio, hanno un PC in ufficio, un portatile e un cellulare), conviene una CAL Utente per ciascun dipendente. In questo modo, ogni utente può utilizzare più dispositivi con la stessa licenza.
- Se invece ci sono postazioni condivise (ad esempio, più lavoratori a turni utilizzano lo stesso computer), può essere più efficiente acquistare CAL Dispositivo per ciascun terminale, in modo che qualunque persona a quella postazione sia coperta.
Il modello Server + CAL è di solito il più economico per le piccole e medie organizzazioni con un numero di utenti relativamente basso, stabile o prevedibile. Alcune caratteristiche di questo modello:
- Basso costo iniziale e pagamento in base all’uso reale: La licenza server (in edizione Standard) ha un costo fisso accessibile e le CAL vengono acquistate solo per il numero effettivo di utenti o dispositivi che accedono. In questo modo si evita di pagare per capacità non utilizzata; ad esempio, se solo 5 persone utilizzeranno il database, si acquistano 5 CAL (oltre alla licenza server) e nient’altro.
- Adatto per ambienti controllati: è ideale in scenari in cui si sa esattamente chi (o quali dispositivi) si connetteranno, come applicazioni interne di una piccola impresa o sistemi dipartimentali con utenti limitati.
Considerazioni importanti
Occorre comunque tenere presenti alcune considerazioni importanti:
- Crescita degli utenti: se l’azienda cresce e vengono aggiunti molti nuovi utenti, sarà necessario acquistare CAL aggiuntive per ciascuno. Un sistema che oggi ha 20 utenti ma che in uno o due anni potrebbe averne 100 forse sarebbe risultato più conveniente con il modello per core sin dall’inizio. Perciò, in caso di proiezioni di crescita rapida, conviene valutare l’opzione per core.
- Utenti indiretti: qualsiasi utente o dispositivo che accede direttamente o indirettamente a SQL Server necessita di una CAL in questo modello. Ciò include scenari di “accesso multiplexato” (ad esempio, quando più utenti accedono al database tramite un’applicazione intermedia o un account di servizio). Non basta concedere la licenza solo all’applicazione; ogni utente finale che genera richieste al server deve essere coperto con la propria CAL.
In sintesi, Server + CAL è una modalità conveniente e gestibile quando il numero di utenti/dispositivi è limitato e noto. Si paga solo per ciò che è necessario in termini di accesso client. Tuttavia, se l’ambiente cresce significativamente o gli utenti sono molto numerosi (o per lo più esterni all’organizzazione), questo modello perde la sua convenienza economica e amministrativa, e in quei casi è preferibile passare alla licenza per core.
SQL Server Standard
L’edizione SQL Server Standard è la versione pensata per esigenze aziendali generali. Offre la maggior parte delle funzionalità di database richieste dalle applicazioni aziendali, incluse capacità di analisi e reportistica. In termini di licenze, SQL Server Standard offre flessibilità, poiché può essere concesso in licenza sia per core che con il modello Server + CAL, a scelta del cliente.
Ciò significa che una piccola organizzazione può scegliere di acquistare una licenza server Standard e un set di CAL se conveniente, mentre un’altra azienda di dimensioni maggiori o con prospettive di crescita può acquisire licenze per core Standard per non preoccuparsi del numero di utenti. Entrambi gli approcci sono validi con SQL Server Standard, consentendo di adattare la spesa all’uso effettivo.
È importante notare che SQL Server Standard presenta alcuni limiti tecnici volti a definire il suo utilizzo in scenari di media scala. Ad esempio, supporta un massimo di 24 core CPU per istanza (se il server fisico ne ha di più, l’istanza Standard potrà comunque utilizzarne solo 24). Queste limitazioni non sono legate alle licenze in sé, ma alla capacità del prodotto. Implicano, tuttavia, che se il carico di lavoro supera ciò che Standard può gestire, sarà probabilmente necessario considerare l’edizione Enterprise.
In sintesi, SQL Server Standard è spesso la scelta predefinita per molti ambienti grazie al suo equilibrio tra funzionalità e costo. Potendo essere concesso in licenza sia con CAL che per core, risulta conveniente sia in scenari piccoli (con poche CAL) sia in implementazioni più ampie (dove conviene pagare per core). Tuttavia, se i requisiti di prestazioni, scalabilità o funzionalità speciali superano ciò che Standard offre — ad esempio, se hai bisogno di più di 24 core di elaborazione o di funzioni avanzate di alta disponibilità — allora sarà il momento di valutare l’edizione Enterprise.


SQL Server Enterprise
L’edizione SQL Server Enterprise è la versione di livello massimo, progettata per applicazioni critiche, carichi di lavoro elevati e ambienti su larga scala. Include tutte le funzionalità di Standard e aggiunge una serie di caratteristiche avanzate in materia di sicurezza, prestazioni e disponibilità. Ad esempio, Enterprise include strumenti avanzati di sicurezza (crittografia dei dati, audit dettagliato) e di alta disponibilità (ripristino online, ecc.), oltre a eliminare i limiti di risorse presenti in Standard. Enterprise non impone limiti al numero di core CPU che l’istanza può utilizzare e supporta molta più memoria e dimensioni di database maggiori rispetto a Standard.
Per quanto riguarda le licenze, SQL Server Enterprise è disponibile solo con il modello di licenza per Core. Non esiste l’opzione Server + CAL per questa edizione. Ciò significa che qualsiasi implementazione di Enterprise richiederà di concedere in licenza tutti i core del server (o dei server) su cui viene eseguito. Anche se a prima vista potrebbe sembrare uno svantaggio, è coerente con l’uso previsto di Enterprise: di solito viene installato in ambienti in cui il numero di utenti è molto elevato o il deployment sfrutta hardware potente, quindi concedere in licenza tramite CAL sarebbe poco pratico o addirittura impossibile (si pensi ad applicazioni orientate a clienti esterni, ad esempio).
Un vantaggio importante della licenza Enterprise per core è che, se si concedono in licenza tutti i core fisici di un server host, si ottiene il diritto di eseguire istanze virtuali illimitate di SQL Server Enterprise su quello stesso host. In altre parole, con Enterprise e coprendo tutto l’hardware, puoi creare qualsiasi numero di macchine virtuali con SQL Server su quel server senza dover acquistare licenze aggiuntive per ogni VM. Questo risulta molto prezioso nei data center virtualizzati o negli ambienti di cloud privato, poiché con un unico investimento in licenze si possono gestire decine di istanze isolate.
A causa del suo costo elevato, Enterprise è destinato a organizzazioni in cui l’investimento è giustificato dalla criticità delle applicazioni o dal volume dei dati. Grandi aziende, banche, corporazioni globali o istituzioni governative sono esempi tipici di utenti di SQL Server Enterprise, poiché necessitano sia delle capacità tecniche superiori sia della libertà di licenza per servire migliaia di utenti in modo affidabile.
SQL Server 2022: licenze senza sorprese
L’ultima versione disponibile, SQL Server 2022, non ha introdotto cambiamenti nei modelli di licenza. Le edizioni Standard ed Enterprise seguono le stesse regole già descritte: Standard può essere concesso in licenza per Core o con Server+CAL, mentre Enterprise esclusivamente per Core. In altre parole, tutto ciò che è stato spiegato si applica ugualmente a SQL Server 2022.
Errori comuni di licenza da evitare
Anche con regole chiare, nella pratica è facile commettere errori nella concessione in licenza di SQL Server. Questi sono alcuni degli errori più tipici che abbiamo osservato nel corso degli anni e che conviene evitare:
- Pensare che le licenze in pacchetti da 2 core siano un’edizione diversa o limitata di SQL Server: è disponibile in commercio la confezione “SQL Server 2-Core” e alcuni suppongono erroneamente che si tratti di una variante del software con meno funzioni. In realtà non è un prodotto diverso; è semplicemente il modo in cui viene commercializzata la licenza per core (ogni pacchetto copre 2 core). Il SQL Server che installi è lo stesso (Standard o Enterprise) con tutte le sue capacità intatte.
- Non concedere in licenza tutti i core fisici del server: Nel modello per core, devono essere concessi in licenza tutti i core fisici del server (con un minimo di 4 per ogni processore fisico, anche se ne ha meno). Se non vengono coperti tutti i core esistenti, il server risulta sotto-licenziato e in situazione di non conformità.
- Scegliere Server + CAL solo perché sembra più economico all’inizio: In un primo momento, acquistare una licenza server Standard e alcune CAL può costare meno che concedere in licenza per core. Ma se il numero di utenti aumenta, smette rapidamente di essere l’opzione più economica. Spesso, superate alcune decine di utenti, sarebbe risultato più conveniente (e più semplice) optare sin dall’inizio per le licenze per core.
- Non acquisire un numero sufficiente di CAL per tutti gli utenti: Un errore comune è supporre che gli utenti che si connettono raramente (o gli account di servizio) non abbiano bisogno di CAL. Questo è sbagliato: qualsiasi accesso, per quanto occasionale, richiede la propria licenza CAL. Omettere licenze per alcuni utenti lascia l’azienda in una situazione di non conformità ed esposta a sanzioni in caso di audit.
- Ignorare le regole di licenza nel cloud: Migrare SQL Server su macchine virtuali nel cloud (Azure, AWS o altri) non elimina l’obbligo di concedere correttamente le licenze. Se porti le tue licenze nel cloud (modello BYOL), devi concedere in licenza tutti i core fisici assegnati a quelle istanze, proprio come faresti su un server locale. Solo nei servizi di database completamente gestiti (dove il provider include già la licenza nel costo) si può fare a meno di acquistare licenze separate.
Consiglio
Verifica sempre il numero reale di core fisici assegnati al tuo server (o le vCPU equivalenti che corrispondono a core fisici) e assicurati di avere licenze per tutti. Non basarti solo sui thread logici mostrati dal sistema operativo; consulta la configurazione dell’hardware o dell’host per sapere quanti core fisici stai realmente utilizzando.
Esempi pratici di licenza per core
Per illustrare come applicare le regole, di seguito sono riportati tre scenari concreti:
- Esempio 1: Server con 2 processori fisici da 4 core ciascuno (8 core in totale). Tutti i core devono essere concessi in licenza, il che equivale a 4 licenze SQL Server (ogni licenza copre 2 core).
- Esempio 2: 1 server fisico con 3 macchine virtuali; a ciascuna VM sono assegnate 2 vCPU. Per la licenza, ogni VM richiede almeno 4 core. Totale: 3 VM × 4 core = 12 core da concedere in licenza, equivalenti a 6 licenze da 2 core.
- Esempio 3: Server con 4 CPU fisiche da 5 core ciascuna (20 core totali). Devono essere concessi in licenza tutti i 20 core, per cui servono 10 licenze da 2 core.
Riepilogo dei punti chiave
Per concludere, di seguito sono elencati gli aspetti più importanti da ricordare sui modelli di licenza di SQL Server:
- SQL Server Standard è adatto alla maggior parte delle esigenze aziendali generali e offre flessibilità di licenza: può essere acquisito per Core o Server + CAL, a seconda delle necessità.
- L’edizione Standard ha un limite tecnico di 24 core per istanza. Se è necessario utilizzare più capacità di CPU, probabilmente si dovrà optare per SQL Server Enterprise.
- SQL Server Enterprise fornisce funzionalità avanzate di livello aziendale e la sua licenza è esclusivamente per Core (non esiste la modalità CAL per Enterprise).




