Inicialização de arquivos de bancos de dados
Arquivos de dados e de log são inicializados para substituir todos os dados existentes que foram deixados no disco por arquivos previamente excluídos. Primeiro, os arquivos de dados e de log são inicializados ao serem completados com zeros quando você executa uma das seguintes operações:
Criar um banco de dados.
Adicionar arquivos, log ou dados a um banco de dados existente.
Aumentar o tamanho de um arquivo existente (inclusive operações de aumento automático).
Restaurar um banco de dados ou grupo de arquivos.
A inicialização dos arquivos faz com que essas operações demorem mais. Porém, quando os dados são gravados nos arquivos pela primeira vez, o sistema operacional não tem de completar os arquivos com zeros.
Inicialização imediata de arquivo
No SQL Server, os arquivos de dados podem ser inicializados de imediato. Isso permite a execução rápida das operações de arquivo mencionadas anteriormente. A inicialização imediata de um arquivo recupera espaço em disco sem encher esse espaço com zeros. Em vez disso, o conteúdo do disco é substituído à medida que novos dados são gravados nos arquivos. Arquivos de log não podem ser inicializados de imediato.
Observação |
---|
A inicialização imediata de arquivo só está disponível no Microsoft Windows XP Professional ou Windows Server 2003 ou em versões posteriores. |
A inicialização imediata de arquivo só está disponível se a conta de serviço do SQL Server (MSSQLSERVER) tiver direito SE_MANAGE_VOLUME_NAME. Os membros do grupo administrador do Windows têm esse direito e podem atribuí-lo a outros usuários adicionando-os à política de segurança Executar tarefas de manutenção de volume. Para obter mais informações sobre como atribuir direitos de usuário, consulte a documentação do Windows.
A inicialização instantânea de arquivo não está disponível quando a TDE está habilitada.
Considerações sobre segurança
Como o conteúdo excluído do disco é substituído apenas à medida que novos dados são gravados nos arquivos, o conteúdo excluído poderá ser acessado por uma entidade de segurança não autorizada. Embora o arquivo de banco de dados esteja associado à instância do SQL Server, essa ameaça de divulgação de informações é reduzida pela lista de controle de acesso discricionário (DACL) no arquivo. Essa DACL só permite acesso ao arquivo à conta de serviço do SQL Server e ao administrador local. Porém, quando o arquivo é desassociado, ele pode ser acessado por um usuário ou serviço que não tenha direito SE_MANAGE_VOLUME_NAME. Existe uma ameaça semelhante ao se fazer backup do banco de dados. O conteúdo excluído pode ficar disponível para um usuário ou serviço não autorizado se o arquivo de backup não for protegido com uma DACL adequada.
Se o potencial de divulgação do conteúdo excluído for uma preocupação, você deve tomar uma ou ambas as providências seguintes:
Sempre se certifique de que todos os arquivos de dados desassociados e arquivos de backup tenham DACL restritivas.
Desabilite a inicialização de arquivo imediata para a instância do SQL Server revogando o direito SE_MANAGE_VOLUME_NAME da conta de serviço do SQL Server.
Observação |
---|
Desabilitar a inicialização de arquivos imediata só afeta os arquivos que sejam criados ou tenham seu tamanho aumentado depois de o direito do usuário ter sido revogado. |