Quando um arquivo de dados ou de log é criado pelo SQL Server, por padrão ele precisa primeiro sobrescrever todos os dados existentes no espaço que foi alocado no disco. Arquivos de log e dados são primeiro inicializados literalmente zerando esse espaço (preenchidos com zeros) e depois são começa de fato a alocação para aquele arquivo. Isso acontece em vários processos como na criação de database, adição de mais arquivos (log ou dados), aumento de tamanho de arquivo (growth) e um restore.
O IFI é um recurso do SQL Server que possibilita acelerar esse processo de inicialização “pulando” a parte de preencher o espaço com zeros. Em vez disso, os dados previamente escritos naquele espaço vão sendo substituídos conforme são usados. É muito benéfico em situações que não temos discos muito fortes e bases muito grandes porque sair preenchendo gigas de dados pode se tornar uma tarefa que consome bastante tempo.
Esse recurso pode também economizar bastante tempo em situações que precisamos realizar algum restore de databases muito grandes. O “start” da tarefa em si acontece mais rápido, economizando um tempo valioso, principalmente se esse restore está sendo feito após algum desastre.
É altamente recomendável deixá-lo ativo seguindo as boas práticas de mercado atuais. Você pode fazer isso na instalção da instância mas caso precise ativar com o “avião voando” (ambiente produtivo, sem downtime), não vai ter jeito, uma janela será necessário. Nesses casos recomendamos que faça em uma aplicação de patch (de SO ou em um Cumulative Update).Existe uma discussão antiga sobre risco das informações que estão gravadas em disco já que elas não serão zeradas. O Erik Darling, uma das referências em banco de dados, tem um artigo bem completo falando sobre isso (https://www.brentozar.com/training/fundamentals-database-administration/ifi-7m/), mas no geral existem riscos maiores caso você chegue em uma situação na qual um invasor está olhando os dados do seu disco.