Partilhar via


Compactação de backup (SQL Server)

Este tópico descreve a compactação de backups do SQL Server, incluindo restrições, o compromisso de desempenho na compressão de backups, a configuração da compactação de backup e o índice de compactação.

Observação

Para obter informações sobre quais edições do SQL Server 2014 dão suporte à compactação de backup, consulte recursos compatíveis com as edições do SQL Server 2014. Cada edição do SQL Server 2008 e posterior pode restaurar um backup compactado.

Benefícios

  • Como um backup compactado é menor que um backup descompactado dos mesmos dados, compactar um backup normalmente requer menos E/S do dispositivo e, portanto, geralmente aumenta significativamente a velocidade de backup.

    Para obter mais informações, consulte o impacto no desempenho da compactação de backups, mais adiante neste tópico.

Restrições

As seguintes restrições se aplicam a backups compactados:

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

  • As versões anteriores do SQL Server não podem ler backups compactados.

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

Impacto de desempenho da compactação de backups

Por padrão, a compactação aumenta consideravelmente o uso da CPU, e o consumo adicional da CPU por parte do processo de compactação pode afetar negativamente as operações simultâneas. Portanto, talvez você queira criar backups compactados de baixa prioridade em uma sessão cujo uso da CPU é limitado peloAdministrador de Recursos. Para obter mais informações, confira Usar o Resource Governor para limitar o uso de CPU por meio de compactação de backup (Transact-SQL).

Para obter uma boa imagem do desempenho de E/S de backup, você pode isolar a E/S de backup de ou para dispositivos avaliando os seguintes tipos de contadores de desempenho:

  • Contadores de desempenho de E/S do Windows, como os contadores de disco físico

  • O contador Taxa de Transferência de Bytes do Dispositivo/seg do objeto SQLServer:Backup Device

  • O contador de Backup/Restauração por segundo do objeto SQLServer:Databases

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

Calcular a taxa de compactação de um backup compactado

Para calcular a taxa de compactação de um backup, use os valores do backup nas colunas backup_size e compressed_backup_size da tabela de histórico do conjunto de backup , da seguinte maneira:

backup_size:compressed_backup_size

Por exemplo, uma taxa de compactação 3:1 indica que você está salvando cerca de 66% no 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 afetar a taxa de compactação obtida. Os principais fatores incluem:

  • O tipo de dados.

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

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

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

  • Se os dados são criptografados.

    Os dados criptografados compactam significativamente menos do que os dados não criptografados equivalentes. Se a criptografia de dados transparente for usada para criptografar um banco de dados inteiro, a compactação de backups poderá não reduzir muito seu tamanho, se for o caso.

  • Se o banco de dados está compactado.

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

Alocação de espaço para o arquivo de backup

Para backups compactados, o tamanho do arquivo de backup final depende de quão compactáveis os dados são, e isso é desconhecido antes da conclusão da operação de backup. Portanto, por padrão, ao fazer backup de um banco de dados usando compactação, o Mecanismo de Banco de Dados usa um algoritmo de pré-alocação para o arquivo de backup. Esse algoritmo aloca previamente uma porcentagem predefinida do tamanho do banco de dados para o arquivo de backup. Se for necessário mais espaço durante a operação de backup, o Mecanismo de Banco de Dados aumentará o arquivo. Se o tamanho final for menor que o espaço alocado, no final da operação de backup, o Mecanismo de Banco de Dados reduzirá o arquivo para o tamanho final real do backup.

Para permitir que o arquivo de backup cresça apenas conforme necessário para atingir seu tamanho final, use o sinalizador de rastreamento 3042. O sinalizador de rastreamento 3042 faz com que a operação de backup ignore o algoritmo de pré-alocação de compactação de backup padrão. Este sinalizador de rastreamento será útil se você precisar salvar em espaço alocando somente o tamanho real necessário para o backup compactado. No entanto, usar esse sinalizador de rastreamento pode causar uma pequena penalidade de desempenho (um possível aumento na duração da operação de backup).

Tarefas Relacionadas

Consulte Também

Visão geral do backup (SQL Server)
Sinalizadores de rastreamento (Transact-SQL)