Partilhar via


Inicialização de arquivo instantâneo do banco de dados

Os arquivos de dados e de log são inicializados para substituir todos os dados existentes deixados no disco de arquivos excluídos anteriormente. Os arquivos de dados e de log são inicializados pela primeira vez preenchendo os arquivos com zeros quando você executa uma das seguintes operações:

  • Crie um banco de dados.

  • Adicione arquivos, logs ou dados a um banco de dados existente.

  • Aumente o tamanho de um arquivo existente (incluindo operações de crescimento automático).

  • Restaurar um banco de dados ou grupo de arquivos.

A inicialização de arquivo leva essas operações a demorar mais. No entanto, quando os dados são gravados nos arquivos pela primeira vez, o sistema operacional não precisa preencher os arquivos com zeros.

Inicialização instantânea de arquivo

No SQL Server, os arquivos de dados podem ser inicializados instantaneamente. Isso permite a execução rápida das operações de arquivo mencionadas anteriormente. A inicialização instantânea de arquivo recupera o espaço em disco usado sem preencher esse espaço com zeros. Em vez disso, o conteúdo do disco é substituído à medida que novos dados são gravados nos arquivos. Os arquivos de log não podem ser inicializados instantaneamente.

Observação

A inicialização instantânea de arquivo está disponível apenas no MicrosoftWindows XP Professional ou no Windows Server 2003 ou versões posteriores.

A inicialização instantânea de arquivo só estará disponível se à conta de serviço do SQL Server (MSSQLSERVER) for concedida a permissão SE_MANAGE_VOLUME_NAME. Os membros do grupo Administrador do Windows têm esse direito e podem concedê-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 o TDE está habilitado.

Para conceder a permissão Perform volume maintenance tasks a uma conta:

  1. No computador em que o arquivo de backup será criado, abra o Local Security Policy aplicativo (secpol.msc).

  2. No painel esquerdo, expanda Políticas Locais e clique em Atribuição de Direitos de Usuário.

  3. No painel direito, clique duas vezes em Executar tarefas de manutenção de volume.

  4. Clique em Adicionar Usuário ou Grupo e adicione as contas de usuário usadas para backups.

  5. Clique em Aplicar e feche todas as Local Security Policy caixas de diálogo.

Considerações sobre segurança

Como o conteúdo do disco excluído é substituído apenas quando novos dados são gravados nos arquivos, o conteúdo excluído pode ser acessado por uma pessoa não autorizada. Embora o arquivo de banco de dados esteja anexado à instância do SQL Server, essa ameaça de divulgação de informações é reduzida pela DACL (lista de controle de acesso discricionário) no arquivo. Essa DACL permite acesso de arquivo somente à conta de serviço do SQL Server e ao administrador local. No entanto, quando o arquivo é desanexado, ele pode ser acessado por um usuário ou serviço que não tem SE_MANAGE_VOLUME_NAME. Existe uma ameaça semelhante quando o banco de dados é submetido a backup. O conteúdo excluído poderá ficar disponível para um usuário ou serviço não autorizado se o arquivo de backup não estiver protegido com uma DACL apropriada.

Se o potencial de divulgação de conteúdo excluído for uma preocupação, você deverá fazer um ou ambos os seguintes procedimentos:

  • Sempre verifique se todos os arquivos de dados desanexados e arquivos de backup têm DACLs restritivos.

  • Desabilite a inicialização instantânea de arquivo para a instância do SQL Server revogando SE_MANAGE_VOLUME_NAME da conta de serviço do SQL Server.

Observação

Desabilitar a inicialização instantânea de arquivo afeta apenas os arquivos que são criados ou aumentados de tamanho depois que o direito do usuário é revogado.

Consulte Também

CRIAR BANCO DE DADOS (SQL Server Transact-SQL)