Inizializzazione di file di database
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 innanzitutto inizializzati riempiendo i file con zeri quando si eseguono le operazioni seguenti:
Creazione di un database.
Aggiunta di file, log o dati 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 dei file richiede una quantità di tempo maggiore per l'esecuzione di tali operazioni. Quando i dati vengono scritti nei file per la prima volta, tuttavia, il sistema operativo non deve riempire i file con zeri.
Inizializzazione dei file immediata
In SQL Server i file di dati possono essere inizializzati immediatamente. Questa caratteristica consente l'esecuzione rapida delle operazioni sui file indicate in precedenza. Tramite l'inizializzazione dei file immediata, infatti, viene recuperato lo spazio su disco in uso evitando il riempimento di tale spazio con 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.
[!NOTA]
L'inizializzazione immediata dei file è disponibile solo in MicrosoftWindows XP Professional o Windows Server 2003 o in versioni successive.
L'inizializzazione immediata dei file è disponibile solo se all'account del servizio SQL Server (MSSQLSERVER) è 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 al criterio di protezione Esecuzione operazioni di manutenzione volume. Per ulteriori informazioni sull'assegnazione di diritti utente, vedere la documentazione di Windows.
Considerazioni sulla protezione
Poiché il contenuto eliminato del disco viene sovrascritto solo quando vengono scritti nuovi dati nei file, il contenuto eliminato potrebbe essere accessibile a utenti o servizi non autorizzati. Finché il file di database è collegato all'istanza di SQL Server, questa minaccia di accesso alle informazioni è ridotta 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. Una minaccia analoga è presente quando si esegue il backup del database. Il contenuto eliminato può diventare disponibile a un utente o a un servizio non autorizzato se il file di backup non è protetto con un elenco di controllo di accesso discrezionale (DACL) appropriato.
Se la potenziale diffusione del contenuto eliminato rappresenta un problema, è consigliabile eseguire una o entrambe le operazioni seguenti:
Assicurarsi sempre che i file di dati e i file di backup scollegati presentino elenchi di controllo di accesso discrezionale (DACL) restrittivi.
Disabilitare l'inizializzazione immediata dei file per l'istanza di SQL Server revocando il diritto SE_MANAGE_VOLUME_NAME dall'account del servizio SQL Server.
[!NOTA]
La disabilitazione dell'inizializzazione immediata dei file ha effetto solo sui file che sono stati creati o le cui dimensioni sono aumentate dopo la revoca del diritto utente.