In questo post vedremo come abilitare l’inizializzazione istantanea dei file se è disabilitata in Sql Server. La procedura da seguire è valida per tutte le versioni di SQL Server.
L’inizializzazione istantanea dei file consente un’esecuzione più rapida delle operazioni sui file indicate in precedenza, poiché recupera lo spazio su disco usato senza riempire tale spazio con SQL Server zeri. Il co
Per impostazione predefinita, i file di dati e di log vengono inizializzati per sovrascrivere eventuali dati esistenti rimasti nel disco in seguito all’eliminazione precedente di file. I file di dati e di log vengono prima di tutto inizializzati azzerando i file (riempiendoli con zeri) quando si eseguono queste operazioni:
- Creare un database.
- Aggiungere dati o file di log a un database esistente.
- Aumento delle dimensioni di un file esistente (incluse operazioni di aumento automatico delle dimensioni).
- Ripristino di un database o un filegroup.
L’inizializzazione istantanea dei file (IFI) consente un’esecuzione più rapida delle operazioni sui file indicate in precedenza, poiché recupera lo spazio su disco usato senza riempire tale spazio con SQL Server zeri.
Il contenuto del disco viene invece sovrascritto via via che nuovi dati vengono scritti nei file. Per i file di log non è possibile eseguire l’inizializzazione immediata.
Sommario
Abilitare l’inizializzazione istantanea dei file
L’inizializzazione istantanea dei file è disponibile solo se all’account di avvio del servizio SQL Server è stato concesso il diritto SE_MANAGE_VOLUME_NAME.
I membri del gruppo Administrator di Windows dispongono di questo diritto e possono concederlo ad altri utenti aggiungendoli ai criteri di sicurezza Esecuzione attività di manutenzione volume .
A partire da SQL Server 2016 (13.x), è possibile concedere questa autorizzazione all’account del servizio al momento dell’installazione, durante la configurazione. Se si utilizza il prompt dei comandi installare, aggiungere l’argomento /SQLSVCINSTANTFILEINIT o selezionare la casella Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine Service (Concedi il privilegio di esecuzione attività di manutenzione volume al servizio motore di database di SQL Server) nell’installazione guidata.
Per concedere l’autorizzazione Perform volume maintenance tasks
a un account:
- Nel computer in cui verrà creato il file di dati( dove è installata l’istanza Sql Server) aprire l’applicazione Criteri di sicurezza locali (
secpol.msc
). - Nel riquadro sinistro espandere Criteri locali, quindi fare clic su Assegnazione diritti utente.
- Nel riquadro destro fare doppio clic su Esecuzione attività di manutenzione volume.
- Fare clic su Aggiungi utente o gruppo e aggiungere l’account che esegue il servizio SQL Server.
- Fare clic su Applica, quindi chiudere tutte le finestre di dialogo di Criteri di sicurezza locali .
- Riavviare il servizio SQL Server.
- Controllare il log degli errori di SQL Server all’avvio.

Altre risorse Sql Server:
- Database in Recovery Pending in Sql Server 2019 – Bartolomeo Alberico
- Verificare dimensione tabelle in SQL Server 2019 – Bartolomeo Alberico
- Come cambiare path file database in Sql Server 2019 – Bartolomeo Alberico
- Come utilizzare Query Store in Sql Server 2019 – Bartolomeo Alberico
- Database in modalità Suspect in Sql Server 2019 – Bartolomeo Alberico
Considerazioni relative alla sicurezza
È consigliabile abilitare l’inizializzazione istantanea dei file perché i vantaggi possono superare i rischi per la sicurezza.
Quando si usa l’inizializzazione immediata dei file, il contenuto del disco eliminato viene sovrascritto solo quando vengono scritti nuovi dati nei file. Per questo motivo, il contenuto eliminato potrebbe essere accessibile a utenti o servizi non autorizzati, finché non vengono eseguite altre scritture dati in tale area specifica del file di dati.
Finché il file di database è collegato all’istanza di SQL Server, questo rischio di diffusione di informazioni è ridotto dall’elenco di controllo di accesso discrezionale (DACL) per il file. Questo elenco consente l’accesso al file solo all’account del servizio SQL Server e all’amministratore locale. Quando il file viene scollegato, tuttavia, diventa accessibile a un utente o a un servizio privo del diritto SE_MANAGE_VOLUME_NAME.
Conclusione
Abbiamo visto insieme come abilitare l’inizializzazione istantanea dei file su Sql Server. Le indicazioni riportare in questo post sono stare testate su installazione di test di Sql Server prendendo di riferimento la guida ufficiale di Microsoft.