Inizializzazione immediata dei file di databaseDatabase Instant File Initialization

I file di dati e di log vengono inizializzati per sovrascrivere eventuali dati esistenti rimasti nel disco in seguito all'eliminazione precedente di file.Data and log files are initialized to overwrite any existing data left on the disk from previously deleted files. I file di dati e di log vengono innanzitutto inizializzati riempiendo i file con zeri quando si eseguono le operazioni seguenti:Data and log files are first initialized by filling the files with zeros when you perform one of the following operations:

  • Creazione di un database.Create a database.

  • Aggiungere dati o file di log a un database esistente.Add data or log files, to an existing database.

  • Aumento delle dimensioni di un file esistente (incluse operazioni di aumento automatico delle dimensioni).Increase the size of an existing file (including autogrow operations).

  • Ripristino di un database o un filegroup.Restore a database or filegroup.

    L'inizializzazione dei file richiede una quantità di tempo maggiore per l'esecuzione di tali operazioni.File initialization causes these operations to take longer. Quando i dati vengono scritti nei file per la prima volta, tuttavia, il sistema operativo non deve riempire i file con zeri.However, when data is written to the files for the first time, the operating system does not have to fill the files with zeros.

Inizializzazione dei file immediataInstant File Initialization

In SQL ServerSQL Serveri file di dati possono essere inizializzati immediatamente.In SQL ServerSQL Server, data files can be initialized instantaneously. L'inizializzazione istantanea dei file consente l'esecuzione rapida delle operazioni sui file indicate in precedenza.Instant file initialization allows for fast execution of the previously mentioned file operations. Tramite l'inizializzazione dei file immediata infatti viene recuperato lo spazio su disco in uso evitando il riempimento di tale spazio con zeri.Instant file initialization reclaims used disk space without filling that space with zeros. Il contenuto del disco viene invece sovrascritto via via che nuovi dati vengono scritti nei file.Instead, disk content is overwritten as new data is written to the files. Per i file di log non è possibile eseguire l'inizializzazione immediata.Log files cannot be initialized instantaneously.

Nota

L'inizializzazione immediata dei file è disponibile solo in MicrosoftMicrosoft Windows XP ProfessionalWindows XP Professional o Windows Server 2003Windows Server 2003 o versioni successive.Instant file initialization is available only on MicrosoftMicrosoft Windows XP ProfessionalWindows XP Professional or Windows Server 2003Windows Server 2003 or later versions.

L'inizializzazione immediata dei file è disponibile solo se all'account del servizio SQL ServerSQL Server (MSSQLSERVER) è stato concesso il diritto SE_MANAGE_VOLUME_NAME.Instant file initialization is only available if the SQL ServerSQL Server (MSSQLSERVER) service account has been granted 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 .Members of the Windows Administrator group have this right and can grant it to other users by adding them to the Perform Volume Maintenance Tasks security policy. Per altre informazioni sull'assegnazione di diritti utente, vedere la documentazione di Windows.For more information about assigning user rights, see the Windows documentation.

Alcune condizioni, ad esempio Transparent Data Encryption, possono impedire l'inizializzazione immediata dei File.Some conditions, such as TDE, can prevent Instant File Initialization.

Per concedere l'autorizzazione Perform volume maintenance tasks a un account:To grant an account the Perform volume maintenance tasks permission:

  1. Nel computer in cui verrà creato il file di backup, aprire l'applicazione Criteri di sicurezza locali (secpol.msc).On the computer where the backup file will be created, open the Local Security Policy application (secpol.msc).

  2. Nel riquadro sinistro espandere Criteri locali, quindi fare clic su Assegnazione diritti utente.In the left pane, expand Local Policies, and then click User Rights Assignment.

  3. Nel riquadro destro fare doppio clic su Esecuzione attività di manutenzione volume.In the right pane, double-click Perform volume maintenance tasks.

  4. Fare clic su Aggiungi utente o gruppo e aggiungere tutti gli account utente usati per i backup.Click Add User or Group and add any user accounts that are used for backups.

  5. Fare clic su Applica, quindi chiudere tutte le finestre di dialogo di Criteri di sicurezza locali .Click Apply, and then close all Local Security Policy dialog boxes.

Considerazioni sulla sicurezzaSecurity Considerations

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.Because the deleted disk content is overwritten only as new data is written to the files, the deleted content might be accessed by an unauthorized principal. Finché il file di database è collegato all'istanza di SQL ServerSQL Server, questa minaccia di accesso alle informazioni è ridotta dall'elenco di controllo di accesso discrezionale (DACL) per il file.While the database file is attached to the instance of SQL ServerSQL Server, this information disclosure threat is reduced by the discretionary access control list (DACL) on the file. Questo elenco consente l'accesso al file solo all'account del servizio SQL ServerSQL Server e all'amministratore locale.This DACL allows file access only to the SQL ServerSQL Server service account and the local administrator. Quando il file viene scollegato, tuttavia, diventa accessibile a un utente o a un servizio privo del diritto SE_MANAGE_VOLUME_NAME.However, when the file is detached, it may be accessed by a user or service that does not have SE_MANAGE_VOLUME_NAME. Una minaccia analoga è presente quando si esegue il backup del database.A similar threat exists when the database is backed up. Se il file di backup non è protetto con un elenco di controllo di accesso discrezionale (DACL) appropriato, il contenuto eliminato può diventare disponibile a un utente o a un servizio non autorizzato.If the backup file is not protected with an appropriate DACL, the deleted content can become available to an unauthorized user or service.

Se la potenziale diffusione del contenuto eliminato rappresenta un problema, è consigliabile procedere con una o con entrambe le azioni seguenti:If the potential for disclosing deleted content is a concern, you should take one or both of the following actions:

  • Assicurarsi sempre che i file di dati e i file di backup scollegati presentino elenchi di controllo di accesso discrezionale (DACL) restrittivi.Always make sure that any detached data files and backup files have restrictive DACLs.

  • Disabilitare l'inizializzazione immediata dei file per l'istanza di SQL ServerSQL Server revocando il diritto SE_MANAGE_VOLUME_NAME dall'account del servizio SQL ServerSQL Server .Disable instant file initialization for the instance of SQL ServerSQL Server by revoking SE_MANAGE_VOLUME_NAME from the SQL ServerSQL Server service account.

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.Disabling instant file initialization only affects files that are created or increased in size after the user right is revoked.

Vedere ancheSee Also

CREATE DATABASE (SQL Server Transact-SQL)CREATE DATABASE (SQL Server Transact-SQL)