Eu tenho a inicialização instantânea de arquivo habilitada em nosso SQL Server, então a parte 'vazia' do arquivo de banco de dados não é zerada antes de ser alocada. Meu entendimento é que isso significa que o arquivo pode conter dados 'excluídos'.
Agora, quero enviar uma cópia de um banco de dados (provavelmente um arquivo de backup) para fora da empresa. Mas há todos os dados 'excluídos' potencialmente confidenciais dentro do arquivo. Agora gostaria de zerar a parte não utilizada do arquivo.
Isso é possível? Imagino que poderia criar um novo banco de dados e copiar tudo, ou talvez restaurar uma cópia do banco de dados para outro servidor sem a inicialização instantânea de arquivo habilitada e, em seguida, ser agressivo com um comando ShrinkFile para remover a maior parte ou toda a parte não utilizada do arquivo de banco de dados , mas existe um método menos manual e demorado? Idealmente, um comando para dizer ao SQL para zerar o arquivo, como teria feito se a inicialização instantânea de arquivo não estivesse habilitada.
Um BACKUP do SQL Server faz backup apenas de extensões que estão sendo usadas para armazenar dados. As extensões não utilizadas são deixadas para trás pelo backup. Quando uma página é usada para dados, ela será formatada para uso conforme necessário, para que a página fique livre de dados antigos.
Portanto, tudo o que você precisa fazer é fazer backup do banco de dados e restaurá-lo em outro lugar. Os arquivos restaurados terão o mesmo tamanho do banco de dados original, mas as extensões não utilizadas serão criadas usando os recursos do servidor de destino. Isso pode ser inicializado totalmente ou instantaneamente inicializado usando os blocos de disco no servidor de destino.
No entanto, como as extensões são o nível em que os backups acontecem, as páginas não utilizadas na extensão ainda podem ter o potencial de expor alguns dados quando restauradas em outro servidor. Não tanto quanto poderia ser exposto no servidor de origem, pois as extensões não utilizadas não são restauradas.
Você já pensou em restaurar uma cópia dele, habilitando o TDE que o forçará a 0 e desabilitando o TDE novamente? Eu não testei isso, mas acho que vai funcionar, mas teremos que testar.
Outra coisa também, você já pensou em restaurar uma cópia dele com o IFI desativado, criar um novo grupo de arquivos com novos arquivos, pré-dimensioná-lo, reconstruir o cluster e outros índices no novo grupo de arquivos e, em seguida, descartar o grupo de arquivos existente (se for o grupo de arquivos primário você terá que reduzi-lo, pois não pode descartar o primário)