Compartilhar via


Descrição do suporte para bancos de dados SQL Server em volumes compactados

Este artigo descreve o comportamento de armazenamento de arquivos de banco de dados do SQL Server em unidades compactadas.

Versão original do produto: SQL Server
Número original do KB: 231347

Resumo

Não há suporte para bancos de dados do SQL Server em volumes compactados NTFS ou FAT, exceto em circunstâncias especiais para o SQL Server 2005 e versões posteriores. Um volume compactado não garante gravações alinhadas ao setor, e elas são necessárias para garantir a recuperação transacional em algumas circunstâncias.

Para o SQL Server 2005 e versões posteriores, o armazenamento de arquivos de banco de dados em unidades compactadas se comporta da seguinte maneira:

  • Se o arquivo de dados pertencer a um grupo de arquivos somente leitura, o arquivo será permitido.

  • Se o arquivo de dados pertencer a um banco de dados somente leitura, o arquivo será permitido.

  • Se o arquivo de log de transações pertencer a um banco de dados somente leitura, o arquivo será permitido.

  • Se você tentar abrir um banco de dados de leitura/gravação com arquivos em uma unidade compactada, o SQL Server gerará o seguinte erro:

    Msg 5118, Nível 16, Estado 2, Linha 1 O arquivo "<file_name>" é compactado, mas não reside em um banco de dados ou grupo de arquivos somente leitura. O arquivo deve ser descompactado.

Para obter mais informações sobre exclusões para bancos de dados somente leitura e grupos de arquivos somente leitura no SQL Server 2008, visite o seguinte site do MSDN:

Grupos de arquivos somente leitura e compactação

Observação

Este tópico também se aplica ao SQL Server 2012 e versões posteriores.

Mais informações

Embora seja fisicamente possível adicionar bancos de dados do SQL Server em volumes compactados, não recomendamos isso e não oferecemos suporte a ele. As razões subjacentes para isso incluem o seguinte:

  • Desempenho

    Bancos de dados em volumes compactados podem causar sobrecarga significativa de desempenho. A quantidade varia, dependendo do volume de E/S e da proporção de leituras para gravações. No entanto, mais de 500% de degradação foi observada em algumas condições.

  • Recuperação de banco de dados

    A recuperação transacional confiável do banco de dados requer gravações alinhadas ao setor e os volumes compactados não oferecem suporte a esse cenário. Uma segunda questão diz respeito à gestão interna do espaço de valorização. O SQL Server reserva internamente o espaço pré-alocado em arquivos de banco de dados para reversões. É possível que volumes compactados recebam um erro de falta de espaço em arquivos pré-alocados, e isso interfere na recuperação bem-sucedida.

Em determinados cenários, um backup do SQL Server em um volume compactado ou pasta compactada não é bem-sucedido. Quando esse problema ocorre, você recebe uma das seguintes mensagens de erro.

  • No Windows Vista e versões posteriores do Windows

    STATUS_FILE_SYSTEM_LIMITATION A operação solicitada não pôde ser concluída devido a uma limitação do sistema de arquivos
    Erro do sistema operacional 665(A operação solicitada não pôde ser concluída devido a uma limitação do sistema de arquivos)

  • Em versões anteriores do Windows

    STATUS_INSUFFICIENT_RESOURCES existem recursos de sistema insuficientes para concluir o serviço solicitado Erro do sistema operacional 1450(Existem recursos de sistema insuficientes para concluir o solicitado ou 33(O processo não pode acessar o arquivo porque outro processo bloqueou uma parte do arquivo.)

Para obter mais informações sobre esse problema, consulte Um arquivo muito fragmentado em um volume NTFS pode não crescer além de um determinado tamanho.

Observação

  • O hotfix para Windows Vista e versões posteriores do Windows discutido no artigo da base de dados de conhecimento 967351 pode não resolver o problema de backups do SQL Server que não são bem-sucedidos em um volume compactado ou em uma pasta compactada. No entanto, esse hotfix ajudará a mediar o problema.
  • Depois de aplicar o hotfix discutido no artigo da base de dados de 967351, você deve formatar a unidade na qual a compactação está habilitada usando o /L parâmetro. Quando você formata a unidade na qual a compactação está habilitada usando o /L parâmetro, o segmento de registros de bytes por arquivo aumenta de 1.024 bytes para 4.096 bytes.

Os backups do SQL Server em volumes compactados podem economizar espaço em disco. No entanto, eles podem aumentar o uso da CPU durante a operação de backup. Sempre recomendamos que você use os recursos de soma de verificação BACKUP para ajudar a garantir a integridade dos dados.

O SQL Server requer que os sistemas ofereçam suporte à entrega garantida para mídia estável, conforme descrito nos Requisitos do Programa de Confiabilidade de E/S do SQL Server.

Para obter mais informações sobre os requisitos de entrada e saída para o mecanismo de banco de dados do SQL Server, consulte Requisitos de entrada/saída do mecanismo de banco de dados do Microsoft SQL Server