Compactação de backup (SQL Server)

Este tópico discute os fundamentos da compactação de backup, inclusive a compensação de desempenho de backups compactados.

A compactação de backup foi introduzida no SQL Server 2008 Enterprise. A partir do SQL Server 2008 R2, a compactação de backup possui suporte pelo SQL Server 2008 R2 Standard e por todas as edições mais completas. Todas as edições do SQL Server 2008 ou posterior podem restaurar um backup compactado.

Restrições

As restrições a seguir aplicam-se aos backups compactados:

  • Backups compactados e não compactados não podem coexistir em um conjunto de mídias.

  • Porém, as versões anteriores do SQL Server não podem ler os backups compactados.

  • Backups NT não podem compartilhar uma fita com backups compactados do SQL Server.

Impacto de desempenho dos backups compactados

Como um backup compactado é menor do que um backup não compactado dos mesmos dados, a compactação de um backup normalmente requer menos operações de E/S do dispositivo e, portanto, normalmente aumenta significativamente a velocidade do backup.

Por padrão, a compactação aumenta consideravelmente o uso da CPU, e esse consumo adicional por parte do processo de compactação pode afetar negativamente as operações simultâneas. Portanto, convém criar backups compactados de baixa prioridade em uma sessão cujo uso da CPU é limitado pelo Administrador de Recursos. Para obter mais informações, consulte Como usar o Administrador de Recursos para limitar o uso de CPU por meio de compactação de backup (Transact-SQL).

Para obter uma boa visão do desempenho de E/S do seu backup, é possível isolar o E/S do backup para ou dos dispositivos avaliando as seguintes classificações dos contadores de desempenho:

Para obter informações sobre contadores do Windows, consulte a ajuda do Windows. Para obter informações sobre como trabalhar com contadores SQL Server, consulte Usando objetos do SQL Server.

Configuração

Na instalação, a compactação de backup está desativada por padrão. O comportamento padrão para a compactação de backup é definido pela opção de configuração de servidor Opção backup compression default. Você pode substituir o padrão do servidor ao criar um único backup ou programar uma série de backups rotineiros.

Para alterar o padrão de nível de servidor

Para substituir o padrão de compactação de backup

É possível alterar o comportamento de compactação de backup para um backup individual, um trabalho de backup ou uma configuração de envio de logs.

  • Transact-SQL

    Para um determinado backup, você pode usar WITH NO_COMPRESSION ou WITH COMPRESSION em uma instrução BACKUP.

    Para uma configuração de envio de logs, é possível controlar o comportamento de compactação de backup de backups de log usando sp_add_log_shipping_primary_databasesp_change_log_shipping_primary_database (Transact-SQL).

  • SQL Server Management Studio

    Você pode anular o padrão de compactação de backup do servidor especificando Compactar backup ou Não compactar o backup em qualquer uma das seguintes caixas de diálogo:

Taxa de compactação

Para calcular a taxa de compactação de um backup, use os valores para o backup nas colunas backup_size e compressed_backup_size da tabela de histórico backupset, como segue:

backup_size:compressed_backup_size

Por exemplo, uma taxa de compactação de 3:1 indica que você está economizando aproximadamente 66% de espaço em disco. Para consultar essas colunas, você pode usar a seguinte instrução Transact-SQL:

SELECT backup_size/compressed_backup_size FROM msdb..backupset;

A taxa de compactação de um backup compactado depende dos dados que foram compactados. Uma variedade de fatores pode impactar na taxa de compactação obtida. Os principais fatores incluem:

  • O tipo de dados.

    Os dados de caractere compactam mais do que outros tipos de dados.

  • A consistência dos dados entre as linhas em uma página.

    Normalmente, se uma página contém várias linhas com um campo contendo o mesmo valor, poderá ocorrer uma compactação significativa para esse valor. Por outro lado, para um banco de dados que contém dados aleatórios ou contém somente uma grande linha por página, um backup compactado pode ser tão grande quanto um backup não compactado.

  • Se os dados são criptografados.

    Os dados criptografados compactam significativamente menos do que dados equivalentes não criptografados. Se criptografia transparente de dados for usada para criptografar um banco de dados inteiro, a compactação de backup talvez não reduza muito o tamanho, se reduzir.

  • Se o banco de dados é compactado.

    Se o banco de dados for compactado, a compactação de backups poderá não reduzir muito o seu tamanho.