Instant File Initialization

De forma a aumentar a velocidade de criação ou recuperação das bases de dados, bem como, a velocidade de aumento dos ficheiros das bases de dados (apenas se aplica ao datafile) deve-se activar o INSTANT FILE INITIALIZATION (IFI).

Ao activar o IFI, o espaço necessário por um determinado ficheiro é instantaneamente alocado a esse mesmo ficheiro, sem que esse espaço em disco seja preenchido com zeros. Para tal temos que atribuir permissões à SQL Server Service Account a uma política de segurança designada "Perform Volume Maintenance Tasks"

Para isso temos que:

  • Tecla Windows + R (Run Command)
  • Escrever secpol.msc

secpol.msc

  • Navegar em Local Policies » User Rights Assignment » Perform Volume Maintenance Tasks
  • Adicionar a SQL Server Service Account
  • Reiniciar o SQL Server Service

(Isto só se aplica caso a SQL Server Service Account não pertencer ao grupo de Administratores. Contudo tal não deveria acontecer pois é uma falha de segurança.)

Trace flags para verificar o zeroing dos ficheiros: 3004 e 3605.

No caso do instant file initialization estar activo, apenas é feito o zeroing do log file (versão SQL Server 2005 e posteriores)

Referências:

[1] http://www.johnsansom.com/sqlserver-instant-file-initialization/