Windows26 maggio 2026 14 visualizzazioni

Installer SQL Server su un VPS Windows

Installer SQL Server su un VPS Windows

Riepilogo rapido:

  1. Scegli l'edizione: Express (gratuito, <10 Go), Developer (gratuito, solo per sviluppatori) o Standard (produzione a pagamento).

  2. Controlla i requisiti: Windows Server 2019/2022, 4 Go di RAM minimo consigliati, 6 Go di spazio su disco.

  3. Scarica SQL Server 2022 su microsoft.com/sql-server/sql-server-downloads.

  4. Avvia setup.exe, scegli "Nuova installazione autonoma", attiva la modalità mista e punta alle directory dei dati.

  5. 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 frequenti

  • SQLLogs: file .ldf: scritture sequenziali intensive

  • SQLBackups: backup .bak: accesso occasionale, può essere su un volume più lento

Su un VPS con più volumi, posiziona SQLData e SQLLogs su dischi diversi per migliori prestazioni I/O.


Scaricare SQL Server 2022

Link ufficiali Microsoft:

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

localhost o .\

Un solo SQL Server sul VPS

Istanza nominata

Es: SQLPROD

.\SQLPROD

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:\SQLData

  • Directory del log utente: C:\SQLLogs

  • Directory 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'account sa: sostituisci questo valore

  • /IACCEPTSQLSERVERLICENSETERMS: accettazione della licenza (obbligatoria)

Controlla il risultato in C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\Log\Summary.txt dopo 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: localhost o .\MSSQLSERVER

  • Autenticazione: 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

  1. Apri SQL Server Configuration Manager (cerca nel menu Start)

  2. Configurazione rete SQL ServerProtocollo per MSSQLSERVER

  3. Clic destro su TCP/IPAttiva

  4. Doppio clic su TCP/IP → scheda Indirizzi IP → scorri fino a IPAll

  5. Imposta TCP Port a 1433 (o una porta personalizzata per maggiore sicurezza)

  6. 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_IP con 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 force

  • Creare 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 RemoteAddress specifico

  • Aggiungere esclusioni a Windows Defender per C:\SQLData, C:\SQLLogs, C:\SQLBackups: evita le scansioni in tempo reale sui file SQL

  • Disattivare funzionalità non necessarie: xp_cmdshell, integrazione CLR, automazione OLE: tramite sp_configure

  • Configurare 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 MSSQLSERVER

  • TCP/IP è abilitato in SQL Server Configuration Manager

  • Stai usando il nome corretto: istanza denominata → .\NOMINSTANCE, non localhost

3. "Accesso negato per l'utente 'sa'"

Due possibili cause:

  • Modalità mista non abilitata → riattivala tramite il registro o riesegui il setup

  • Account sa disabilitato → 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.


Fonti utili