Riepilogo rapido:
Scegli l'edizione: Express (gratuito, <10 Go), Developer (gratuito, solo per sviluppatori) o Standard (produzione a pagamento).
Controlla i requisiti: Windows Server 2019/2022, 4 Go di RAM minimo consigliati, 6 Go di spazio su disco.
Scarica SQL Server 2022 su microsoft.com/sql-server/sql-server-downloads.
Avvia setup.exe, scegli "Nuova installazione autonoma", attiva la modalità mista e punta alle directory dei dati.
Installa SSMS, attiva TCP/IP sulla porta 1433, apri il firewall, testa con
sqlcmd.
Quale edizione di SQL Server scegliere?
Edizione | Dimensione DB max | RAM utilizzabile | Core max | Prezzo | Uso consigliato |
|---|---|---|---|---|---|
Express | 10 Go / database | 1,4 Go (buffer pool) | 4 core | Gratuito | Piccole app, sviluppo, test |
Developer | Illimitata | Illimitata | Illimitata | Gratuito | Solo sviluppo e test |
Standard | Illimitata | 128 Go | 24 core | ~900 €/anno | Produzione leggera a media |
Enterprise | Illimitata | Illimitata | Illimitata | Su preventivo | Produzione critica, HA, BI |
La nostra raccomandazione rapida:
Stai sviluppando un'app? → Developer Edition (tutte le funzionalità, zero costi).
Produzione con meno di 10 Go di dati? → Express è sufficiente.
Sito o app in produzione reale? → Standard minimo.
Requisiti prima dell'installazione
Compatibilità Windows Server × SQL Server 2022
OS | Enterprise | Developer | Standard | Express |
|---|---|---|---|---|
Windows Server 2025 | ✅ | ✅ | ✅ | ✅ |
Windows Server 2022 | ✅ | ✅ | ✅ | ✅ |
Windows Server 2019 | ✅ | ✅ | ✅ | ✅ |
Windows Server 2016 | ✅ | ✅ | ✅ | ✅ |
Risorse minime
Componente | Minimo | Consigliato (produzione) |
|---|---|---|
RAM | 512 Mo (Express) / 1 Go (altre) | 4 Go minimo |
CPU | x64, 1,4 GHz | 2,0 GHz+, 2 vCPU+ |
Disco | 6 Go liberi | 20 Go+ a seconda dei tuoi dati |
.NET Framework | 4.7.2 (installato automaticamente) | : |
Controlla il tuo VPS in PowerShell
Prima di avviare l'installazione, controlla il tuo ambiente con 3 comandi:
# Versione Windows
Get-ComputerInfo | Select-Object WindowsProductName, OsHardwareAbstractionLayer
# RAM disponibile (in byte)
Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum
# Spazio disco C:
Get-PSDrive C | Select-Object Used, Free
Preparare i dischi e le directory
Separare dati, log e backup è una buona pratica fondamentale. In caso di crash del disco, limiti i danni. Su un VPS a disco singolo, utilizza almeno cartelle separate.
New-Item -ItemType Directory -Path "C:\SQLData" -Force
New-Item -ItemType Directory -Path "C:\SQLLogs" -Force
New-Item -ItemType Directory -Path "C:\SQLBackups" -Force
Perché separare?
SQLData: file.mdf/.ndf: letture/scritture frequentiSQLLogs: file.ldf: scritture sequenziali intensiveSQLBackups: backup.bak: accesso occasionale, può essere su un volume più lento
Su un VPS con più volumi, posiziona
SQLDataeSQLLogssu dischi diversi per migliori prestazioni I/O.
Scaricare SQL Server 2022
Link ufficiali Microsoft:
SQL Server 2022 Developer / Standard / Enterprise: pagina principale
SQL Server 2022 Express: download diretto
Basic vs Custom vs Scarica il media
L'installatore offre 3 modalità all'avvio:
Modalità | Cosa fa | Quando usarla |
|---|---|---|
Basic | Installazione minima, opzioni predefinite | Test rapido solo |
Custom | Controllo totale su funzionalità e percorsi | Produzione: scegliere sempre questa |
Scarica il media | Scarica l'ISO/CAB per installazione offline | VPS senza accesso a Internet diretto |
Scegli "Custom" in produzione. È l'unica modalità che ti consente di configurare le directory, TempDB, gli account di servizio e la modalità di autenticazione.
Installazione tramite l'assistente grafico (GUI)
Passo 1: Avviare l'installazione
Apri setup.exe → scheda Installazione → "Nuova installazione SQL Server autonoma o aggiunta di funzionalità".
Passo 2: Selezione dell'edizione
Scegli la tua edizione (Developer per sviluppo, inserisci la tua chiave per Standard/Enterprise).
Passo 3: Selezione delle funzionalità
Da selezionare per un VPS standard:
✅ Servizi Motore di database
✅ Replicazione SQL Server
✅ Ricerca full-text
Da non selezionare su un VPS di base:
❌ Reporting Services (pesante, inutile a meno che non ci sia una necessità specifica)
❌ Analysis Services (OLAP: solo per BI)
❌ Integration Services (ETL: solo se necessario)
Passo 4: Configurazione dell'istanza
Tipo | Nome | Connessione | Quando usarla |
|---|---|---|---|
Istanza predefinita | MSSQLSERVER |
| Un solo SQL Server sul VPS |
Istanza nominata | Es: |
| Più istanze sullo stesso VPS |
Per un VPS con un'unica istanza, l'istanza predefinita è più semplice.
Passo 5: Account di servizio
VPS standard: utilizza
NT Service\MSSQLSERVER(account virtuale gestito da Windows)Ambiente dominio: utilizza un account di servizio dedicato Active Directory
Passo 6: Modalità di autenticazione
Scegli sempre la modalità mista su un VPS.
La modalità solo Windows può bloccarti se il dominio non è accessibile. La modalità mista attiva sia l'autenticazione Windows che l'autenticazione SQL (account sa).
Imposta una password sa forte: minimo 12 caratteri, maiuscole, numeri, caratteri speciali.
Passo 7: Directory dei dati
Punta alle cartelle create in precedenza:
Directory radice dei dati:
C:\SQLDataDirectory del log utente:
C:\SQLLogsDirectory di backup:
C:\SQLBackups
Passo 8: Configurazione di TempDB
Numero di file TempDB = numero di core CPU, massimo 8.
Su un VPS 4 vCPU → 4 file TempDB. Questa è la regola ufficiale di Microsoft per evitare la contesa.
Passo 9: Riepilogo e avvio
Controlla il riepilogo, clicca Installa. L'installazione richiede da 5 a 15 minuti a seconda del VPS.
Installazione silenziosa tramite PowerShell (avanzato)
Ideale per automatizzare il deployment o replicare una configurazione su più VPS.
# Installazione silenziosa SQL Server 2022 Developer Edition
# Dalla directory contenente setup.exe (ISO montata o cartella estratta)
.\setup.exe /Q `
/ACTION=Install `
/FEATURES=SQLEngine,Replication,FullText `
/INSTANCENAME=MSSQLSERVER `
/SQLSVCACCOUNT="NT Service\MSSQLSERVER" `
/SQLSYSADMINACCOUNTS="BUILTIN\Administrators" `
/AGTSVCACCOUNT="NT Service\SQLSERVERAGENT" `
/AGTSVCSTARTUPTYPE=Automatic `
/SQLUSERDBDIR="C:\SQLData" `
/SQLUSERDBLOGDIR="C:\SQLLogs" `
/SQLBACKUPDIR="C:\SQLBackups" `
/TCPENABLED=1 `
/SECURITYMODE=SQL `
/SAPWD="LaTuaPasswordForte123!" `
/IACCEPTSQLSERVERLICENSETERMS
Spiegazione dei parametri chiave:
/Q: modalità silenziosa (nessuna interfaccia grafica)/ACTION=Install: tipo di operazione/FEATURES=SQLEngine,Replication,FullText: funzionalità da installare/INSTANCENAME=MSSQLSERVER: istanza predefinita/SQLSVCACCOUNT: account Windows sotto il quale gira il servizio SQL/SQLSYSADMINACCOUNTS: chi diventa sysadmin (qui, gli admin locali)/AGTSVCSTARTUPTYPE=Automatic: SQL Server Agent si avvia automaticamente/TCPENABLED=1: attiva TCP/IP fin dall'installazione/SECURITYMODE=SQL: attiva la modalità mista/SAPWD: password dell'accountsa: sostituisci questo valore/IACCEPTSQLSERVERLICENSETERMS: accettazione della licenza (obbligatoria)
Controlla il risultato in
C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txtdopo l'installazione.
Installare SQL Server Management Studio (SSMS)
SSMS è l'interfaccia grafica per amministrare SQL Server. Si scarica separatamente.
Download: learn.microsoft.com/fr-fr/ssms/ → pulsante "Scarica SSMS"
L'installazione è semplice: avvia l'installatore, accetta le impostazioni predefinite, riavvia se richiesto.
Prima connessione
All'avvio di SSMS, connettiti con:
Nome del server:
localhosto.\MSSQLSERVERAutenticazione: SQL Server (account
sa) o Windows
Alternativa PowerShell / linea di comando
# Controllare la versione di SQL Server senza SSMS
sqlcmd -S localhost -Q "SELECT @@VERSION"
Attivare l'accesso di rete TCP/IP
Per impostazione predefinita, SQL Server ascolta solo localmente. Per accedere dall'esterno o da un'altra macchina, attiva TCP/IP.
Via SQL Server Configuration Manager
Apri SQL Server Configuration Manager (cerca nel menu Start)
→ Configurazione rete SQL Server → Protocollo per MSSQLSERVER
Clic destro su TCP/IP → Attiva
Doppio clic su TCP/IP → scheda Indirizzi IP → scorri fino a IPAll
Imposta TCP Port a
1433(o una porta personalizzata per maggiore sicurezza)Riavvia il servizio SQL Server
Aprire il firewall di Windows (PowerShell)
# Aprire la porta 1433 per tutti (da evitare in produzione)
New-NetFirewallRule -DisplayName "SQL Server (TCP 1433)" `
-Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow
# Limitare a un'IP specifica (consigliato)
New-NetFirewallRule -DisplayName "SQL Server - IP specifica" `
-Direction Inbound -Protocol TCP -LocalPort 1433 `
-RemoteAddress "LA_TUA_IP" -Action Allow
Sostituisci
LA_TUA_IPcon l'indirizzo IP del tuo workstation o del tuo server applicativo. Non lasciare mai la porta 1433 aperta a tutto Internet.
Controllare l'installazione
# 1. Testare la connettività di rete
Test-NetConnection -ComputerName localhost -Port 1433
# 2. Verificare che il servizio SQL Server sia in esecuzione
Get-Service -Name MSSQLSERVER
# 3. Test SQL rapido
sqlcmd -S localhost -Q "SELECT @@VERSION, GETDATE() AS DataServer"
Se i 3 comandi rispondono correttamente, la tua installazione è funzionante.
Mettere in sicurezza post-installazione (checklist)
Non lasciare SQL Server con la sua configurazione predefinita in produzione. Ecco le azioni essenziali:
Disattivare o rinominare l'account
sa: è il bersaglio numero 1 degli attacchi brute forceCreare account SQL dedicati per applicazione: principio del minimo privilegio (un account per database, diritti limitati)
Limitare TCP/IP agli IP noti: regola del firewall con
RemoteAddressspecificoAggiungere esclusioni a Windows Defender per
C:\SQLData,C:\SQLLogs,C:\SQLBackups: evita le scansioni in tempo reale sui file SQLDisattivare funzionalità non necessarie:
xp_cmdshell, integrazione CLR, automazione OLE: tramitesp_configureConfigurare SQL Server Agent per i backup automatici (vedi sezione successiva)
Attivare audit di accesso: in SSMS → Proprietà del server → Sicurezza → "Connessioni riuscite e fallite"
Disattivare xp_cmdshell in T-SQL:
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 0; RECONFIGURE;
Configurare i backup automatici con SQL Server Agent
SQL Server Agent è il pianificatore di attività integrato in SQL Server. Gestisce i backup, la manutenzione degli indici, le allerte.
Attivare SQL Server Agent
In SSMS → SQL Server Agent (nell'esplora oggetti) → clic destro → Avvia.
O in PowerShell:
Set-Service -Name SQLSERVERAGENT -StartupType Automatic
Start-Service -Name SQLSERVERAGENT
Creare un lavoro di backup completo giornaliero
-- Backup completo con compressione
BACKUP DATABASE [NomeDelTuoDB]
TO DISK = N'C:\SQLBackups\NomeDelTuoDB_' + CONVERT(VARCHAR, GETDATE(), 112) + '.bak'
WITH COMPRESSION, STATS = 10;
Pianifica questo script tramite SQL Server Agent → Nuovo lavoro → Nuovo passaggio (tipo: T-SQL) → Nuova pianificazione (es: tutti i giorni alle 2:00).
Per approfondire le strategie di backup, consulta la nostra guida → Backup del tuo VPS Windows: 3 metodi
Risoluzione dei problemi: 6 errori comuni
1. "Il servizio SQL Server non è riuscito ad avviarsi"
Cause più comuni: porta 1433 già utilizzata, o permessi insufficienti sulle directory dei dati.
# Controlla se la porta 1433 è già in uso
netstat -ano | findstr :1433
Controlla anche l'Visualizzatore eventi di Windows → Registri di Windows → Applicazione → origine MSSQLSERVER. Il messaggio di errore esatto si trova lì.
2. "Impossibile connettersi a localhost"
Controlla in ordine:
Il servizio è in esecuzione:
Get-Service MSSQLSERVERTCP/IP è abilitato in SQL Server Configuration Manager
Stai usando il nome corretto: istanza denominata →
.\NOMINSTANCE, nonlocalhost
3. "Accesso negato per l'utente 'sa'"
Due possibili cause:
Modalità mista non abilitata → riattivala tramite il registro o riesegui il setup
Account
sadisabilitato → riattivalo in T-SQL:
ALTER LOGIN sa ENABLE;
ALTER LOGIN sa WITH PASSWORD = 'NuovaPassword123!';
4. "Riavvio in attesa" blocca l'installazione
Windows ha operazioni di rinominazione in attesa che bloccano il setup.
# Controlla la chiave di registro
Get-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager" `
-Name PendingFileRenameOperations -ErrorAction SilentlyContinue
Se la chiave esiste, riavvia il VPS (metodo pulito) oppure rimuovi il valore e rilancia il setup.
5. ".NET Framework mancante"
# Installa .NET Framework Core tramite Windows Features
Install-WindowsFeature Net-Framework-Core
# Se hai bisogno di una fonte locale (Windows Server senza accesso a internet)
Install-WindowsFeature Net-Framework-Core -Source "D:\sources\sxs"
In alternativa, scarica .NET Framework 4.8 direttamente da Microsoft.
6. Prestazioni degradate dopo l'installazione
Tre regolazioni immediate da effettuare:
TempDB: numero di file = numero di core (max 8) :
-- Aggiungi file TempDB se necessario (esempio per 4 core)
ALTER DATABASE tempdb ADD FILE (NAME = tempdev2, FILENAME = 'C:\SQLData\tempdb2.mdf', SIZE = 64MB);
ALTER DATABASE tempdb ADD FILE (NAME = tempdev3, FILENAME = 'C:\SQLData\tempdb3.mdf', SIZE = 64MB);
ALTER DATABASE tempdb ADD FILE (NAME = tempdev4, FILENAME = 'C:\SQLData\tempdb4.mdf', SIZE = 64MB);
Limitare la RAM utilizzata da SQL Server (lasciare il 20% all'OS) :
-- Esempio: VPS con 8 GB di RAM → max 6.400 MB per SQL Server
EXEC sp_configure 'show advanced options', 1; RECONFIGURE;
EXEC sp_configure 'max server memory', 6400; RECONFIGURE;
Abilitare l'Inizializzazione File Istantanea (IFI) :
Concedi il diritto Perform Volume Maintenance Tasks all'account di servizio SQL Server nella strategia di sicurezza locale (secpol.msc). Questo accelera drasticamente la creazione e il ripristino dei database.
FAQ
Quale versione di SQL Server installare su un VPS?
SQL Server 2022 è la versione raccomandata nel 2025. Per sviluppo gratuito con tutte le funzionalità, scegli l'edizione Developer. Per una produzione con meno di 10 GB di dati, Express è sufficiente e gratuito. Oltre, Standard è il minimo.
SQL Server Express è sufficiente per un sito WordPress?
No: WordPress utilizza MySQL o MariaDB, non SQL Server. SQL Server Express è adatto per applicazioni .NET, ASP.NET Core, o database interni Windows. Se ospiti WordPress, installa MySQL o MariaDB al suo posto.
È possibile installare SQL Server su un VPS Linux?
Sì, SQL Server 2017 e superiori supportano Ubuntu, RHEL e SUSE. Ma su un VPS Windows, l'installazione nativa Windows offre le migliori prestazioni e la massima compatibilità con gli strumenti Microsoft.
Come accedere a SQL Server dall'esterno?
Abilita TCP/IP in SQL Server Configuration Manager, imposta la porta 1433, apri questa porta nel firewall di Windows e connettiti tramite SSMS con l'IP pubblico del tuo VPS. Limita sempre l'accesso agli IP noti.
Quanta RAM è necessaria per SQL Server su un VPS?
Minimo 4 GB per un uso corretto. In produzione leggera, 8 GB è confortevole. Configura sempre max server memory per lasciare almeno il 20% di RAM al sistema operativo: altrimenti Windows potrebbe trovarsi a corto di memoria.
SQL Server è incluso nei VPS Windows OuiHeberg?
No. SQL Server non è incluso per impostazione predefinita (licenza Microsoft separata). Puoi installare SQL Server Express o Developer Edition gratuitamente. Per SQL Server Standard o Enterprise, è necessaria una licenza Microsoft.
