Limitações e requisitos de instantâneos do banco de dados

O instantâneo do banco de dados captura o momento determinado em que começa a criação do instantâneo, menos qualquer transação não confirmada. Antes de usar instantâneos do banco de dados, é melhor entender o impacto de instantâneos do banco de dados no banco de dados de origem e no ambiente do sistema, assim como as próprias limitações dos instantâneos.

Observação importanteImportante

Os instantâneos do banco de dados estão disponíveis somente no Microsoft SQL Server 2005 Enterprise Edition e versões mais recentes.

Limitações do banco de dados de origem

Desde que haja um instantâneo do banco de dados, as limitações seguintes existirão no banco de dados de origem do instantâneo:

  • O banco de dados não pode ser cancelado, desanexado nem restaurado. Para obter informações sobre como excluir um instantâneo, consulte Descartando um instantâneo do banco de dados.

    ObservaçãoObservação

    O backup do banco de dados de origem funciona normalmente e não é afetado pelos instantâneos do banco de dados.

  • O desempenho é reduzido, em razão do aumento de E/S no banco de dados de origem, resultante de uma operação COW (copy-on-write), para o instantâneo, toda vez que uma página é atualizada.

  • Os arquivos não podem ser eliminados do banco de dados de origem nem de nenhum instantâneo.

  • O banco de dados de origem precisa estar online, a menos que se trate de um banco de dados espelho dentro de uma sessão de espelhamento de banco de dados.

    ObservaçãoObservação

    Todo modelo de recuperação oferece suporte a instantâneos do banco de dados.

  • O banco de dados de origem não pode ser configurado como banco de dados compartilhado evolutivo.

  • Para criar um instantâneo do banco de dados em um banco de dados espelho, o banco de dados precisa estar no estado de espelhamento sincronizado.

Limitações em instantâneos do banco de dados

As limitações seguintes aplicam-se a instantâneos do banco de dados:

  • É preciso criar um instantâneo do banco de dados, a ser mantido na mesma instância de servidor, como banco de dados de origem.

  • Instantâneos do banco de dados sempre funcionam em todo o banco de dados.

  • Os instantâneos do banco de dados são dependentes do banco de dados de origem. Portanto, o uso de instantâneos do banco de dados para reverter um banco de dados não é um substituto da estratégia de backup e restauração. A execução de todos os backups agendados continua essencial. Se for necessário restaurar o banco de dados de origem para o momento determinado em que o instantâneo do banco de dados foi criado, implemente uma política de backup que permita fazer isso.

  • Quando uma página que está sendo atualizada no banco de dados de origem é impulsionada para um instantâneo, caso o instantâneo fique sem espaço em disco suficiente ou encontre outro erro, ele se tornará suspeito e deverá ser excluído.

  • Os instantâneos são somente leitura.

  • Instantâneos dos bancos de dados modelo, mestre e tempdb são proibidos.

  • Você não pode alterar nenhuma das especificações dos arquivos de instantâneos do banco de dados.

  • Você não pode cancelar arquivos de um instantâneo do banco de dados.

  • Você não pode fazer backup nem restaurar instantâneos do banco de dados.

  • Você não pode anexar nem desanexar instantâneos do banco de dados.

  • Você não pode criar instantâneos do banco de dados em sistema de arquivos FAT32 nem em partições RAW. Os arquivos esparsos usados por instantâneos do banco de dados são fornecidos pelo sistema de arquivos NTFS.

  • A indexação de texto completo não tem suporte em instantâneos do banco de dados. Os catálogos de texto completo não são propagados do banco de dados de origem.

  • Um instantâneo do banco de dados herda as restrições de segurança de seu banco de dados de origem no momento da criação do instantâneo. Como os instantâneos são somente leitura, as permissões herdadas não podem ser alteradas e as alterações feitas à origem não serão refletidas nos instantâneos existentes.

  • Um instantâneo sempre reflete o estado dos grupos de arquivos no momento de sua criação: grupos de arquivos online permanecem online e grupos de arquivos offline permanecem offline. Para obter mais informações, consulte "Instantâneos do banco de dados com grupos de arquivos offline", posteriormente neste tópico.

  • Se um banco de dados de origem se tornar RECOVERY_PENDING, seus instantâneos do banco de dados podem se tornar inacessíveis. Depois que o problema do banco de dados de origem for resolvido, porém, seus instantâneos deverão se tornar novamente disponíveis.

  • A reversão não tem suporte para grupos de arquivos somente leitura e para grupos de arquivos compactados. As tentativas de reverter um banco de dados que contenha qualquer um desses tipos de grupos de arquivos falharão. Para obter mais informações sobre a reversão, consulte Revertendo para um instantâneo do banco de dados.

  • Em uma configuração de envio de logs, poderão ser criados instantâneos do banco de dados apenas no banco de dados primário, não em um banco de dados secundário. Se as funções entre a instância do servidor primário e a instância do servidor secundário forem alternadas, será necessário cancelar todos os instantâneos do banco de dados antes de definir o banco de dados primário como o banco de dados secundário.

  • Um instantâneo do banco de dados não pode ser configurado como um banco de dados compartilhado escalonável.

  • Os grupos de arquivos FILESTREAM não são suportados pelos instantâneos do banco de dados. Se houver grupos de arquivos FILESTREAM em um banco de dados de origem, eles serão marcados como offline nos instantâneos do banco de dados, e os instantâneos do banco de dados não poderão ser usados para reverter o banco de dados.

    ObservaçãoObservação

    Uma instrução SELECT executada em um instantâneo do banco de dados não deve especificar uma coluna FILESTREAM. Caso contrário, a mensagem de erro a seguir será retornada: Não foi possível continuar a verificação com NOLOCK devido ao movimento de dados.

Requisitos de espaço em disco

Os instantâneos do banco de dados consomem espaço em disco. Se um instantâneo do banco de dados for executado sem espaço em disco suficiente, ficará marcado como suspeito e precisará ser cancelado. (O banco de dados de origem, porém, não é afetado; as suas ações prosseguem normalmente.) Em comparação com uma cópia completa de banco de dados, no entanto, os instantâneos são altamente eficazes em termos de espaço. Um instantâneo requer apenas armazenamento suficiente para as páginas alteradas no decorrer de seu tempo de vida. Em geral, os instantâneos são mantidos por certo período, de modo que o tamanho deles não é a principal preocupação.

Quanto mais tempo o instantâneo for mantido, mais provável se torna que ele venha a gastar espaço disponível. O tamanho máximo de crescimento de um arquivo esparso é o tamanho do arquivo de banco de dados de origem correspondente, no momento da criação do instantâneo. Para obter mais informações, consulte Compreendendo tamanhos de arquivo esparso em instantâneos do banco de dados.

Se um instantâneo do banco de dados for executado sem espaço em disco suficiente, precisará ser excluído (cancelado). Para obter informações sobre cancelamento de instantâneos do banco de dados, consulte Descartando um instantâneo do banco de dados.

ObservaçãoObservação

Com exceção do espaço em arquivo, o instantâneo do banco de dados consome basicamente tanto recurso quanto o banco de dados.

Instantâneos do banco de dados com grupos de arquivos offline

Os grupos de arquivos offline no banco de dados de origem afetam os instantâneos do banco de dados quando se tenta realizar o seguinte:

  • Criar um instantâneo

    Quando um banco de dados de origem possui um ou mais grupos de arquivos offline, a criação do instantâneo terá êxito nos grupos de arquivos offline. Os arquivos esparsos não são criados para grupos de arquivos offline.

    ObservaçãoObservação

    Para obter informações sobre a função dos arquivos esparsos de instantâneos do banco de dados, consulte Como funcionam os instantâneos de banco de dados.

  • Pegar um grupo de arquivos offline

    Você pode pegar um arquivo offline no banco de dados de origem. No entanto, o grupo de arquivos permanece online nos instantâneos do banco de dados se estava online no momento da criação do instantâneo. Se os dados consultados tiverem sido alterados desde a criação do instantâneo, a página de dados original ficará acessível no instantâneo. Porém, as consultas que usam o instantâneo para acessar os dados não modificados no grupo de arquivos talvez falhem e apresentem erros de E/S (entrada/saída).

  • Colocar um grupo de arquivos online

    Você não pode colocar um grupo de arquivos online em um banco de dados que tenha instantâneos do banco de dados. Se um grupo de arquivos estiver offline no momento da criação do instantâneo, ou se for colocado offline quando existir um instantâneo do banco de dados, o grupo de arquivos permanecerá offline. Isto ocorre porque colocar um arquivo de novo online envolve sua restauração, o que não é possível se houver um instantâneo do banco de dados no banco de dados.

  • Reverter o banco de dados de origem a um instantâneo

    Reverter um banco de dados de origem para um instantâneo do banco de dados requer que todos os grupos de arquivos fiquem online, com exceção de grupos de arquivos que estavam offline quando o instantâneo foi criado.