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 de KB original: 231347

Resumo

SQL Server bancos de dados não têm suporte em volumes compactados NTFS ou FAT, exceto em circunstâncias especiais para versões SQL Server 2005 e 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 versões SQL Server 2005 e 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 criar um banco de dados de leitura/gravação com arquivos em uma unidade compactada, 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, acesse o seguinte site do MSDN:

Grupos de arquivos somente leitura e compactação

Observação

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

Mais informações

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

  • Desempenho

    Bancos de dados em volumes compactados podem causar sobrecarga significativa de desempenho. O valor variará, 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 volumes compactados não dão suporte a esse cenário. Um segundo problema diz respeito ao gerenciamento de espaço de recuperação interna. SQL Server reserva internamente espaço preallocado em arquivos de banco de dados para reversões. É possível em volumes compactados receber um erro fora do espaço em arquivos preallocados, e isso interfere na recuperação bem-sucedida.

Em determinados cenários, um backup SQL Server para um volume compactado ou pasta compactada não é bem-sucedido. Quando esse problema ocorrer, você receberá 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 insuficientes do sistema para concluir o erro do sistema operacional do serviço solicitado 1450(Recursos insuficientes do sistema existem 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 fortemente fragmentado em um volume NTFS pode não crescer além de um determinado tamanho.

Observação

  • O hotfix do Windows Vista e as versões posteriores do Windows discutidas no artigo do KB 967351 podem não resolve o problema de backups 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 que é discutido no artigo do KB 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 é habilitada usando o /L parâmetro, o Segmento bytes por registros de arquivo aumenta de 1.024 bytes para 4.096 bytes.

SQL Server backups 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 as instalações de verificação de BACKUP para ajudar a garantir a integridade dos dados.

SQL Server requer que os sistemas dêem suporte à entrega garantida a mídia estável, conforme descrito nos Requisitos do Programa de Confiabilidade de E/S SQL Server.

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