Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Este artigo descreve a compactação de backups do SQL Server, incluindo restrições, compensação de desempenho da compactação de backups, a configuração da compactação de backup e a taxa de compactação. A compactação de backup tem suporte nas edições do SQL Server: Enterprise, Standard e Developer. Todas as edições do SQL Server 2008 (10.0.x) e posterior podem restaurar um backup compactado.
Benefícios
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.
Para obter mais informações, consulte Impacto de desempenho dos backups compactados, posteriormente neste artigo.
Restrições
As restrições a seguir aplicam-se aos 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.
Algoritmo de compactação ZSTD introduzido no SQL Server 2025
A partir do SQL Server 2025 (17.x), um novo algoritmo de compactação, ZSTD, está disponível para compactação de backup. Esse algoritmo é mais rápido e eficaz do que o algoritmo de MS_XPRESS anterior.
Você pode usar o algoritmo ZSTD para compactação de backup de uma das seguintes maneiras:
- Especificando a opção
WITH COMPRESSION (ALGORITHM = ZSTD)no comando backup Transact-SQL para um backup específico. - Definindo a opção de configuração do servidor do algoritmo de compactação de backup como 3. Essa opção define o algoritmo de compactação de backup padrão como ZSTD para todos os backups que usam a opção
WITH COMPRESSION.
Impacto no 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, é recomendável criar backups compactados de baixa prioridade em uma sessão cujo uso da CPU é limitado pelo Administrador 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).
A partir do SQL Server 2022 (16.x), você pode usar a Aceleração e descarregamento integrado para compactar backups e descarregar os recursos da CPU para o backup.
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:
Contadores de desempenho de E/S do Windows, como os contadores de disco físico
O contador de Taxa de Transferência do Dispositivo em Bytes/s do objeto SQLServer:Backup Device
O contador Taxa de Transferência de Backup/Restauração/s 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 SQL Server, consulte Usar objetos do SQL Server.
Calcule a taxa de compactação de um backup compactado
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 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 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
A compactação de dados criptografados é significativamente menor do que a compactação de dados equivalentes não criptografados. Por exemplo, se os dados forem criptografados no nível da coluna com Always Encrypted ou com outra criptografia no nível do aplicativo, a compactação dos backups poderá não reduzir significativamente o tamanho.
Para obter mais informações relacionadas à compactação de bancos de dados criptografados com a tecnologia TDE (Transparent Data Encryption), confira a Compactação de backup com TDE.
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.
Compactação de backup com TDE
Começando com o SQL Server 2016 (13.x), definir MAXTRANSFERSIZEmaior que 65.536 (64 KB) habilita um algoritmo de compactação otimizada para bancos de dados criptografados com Transparent Data Encryption (TDE) que primeiro descriptografa uma página, compacta-a e, depois, criptografa-a novamente. Se MAXTRANSFERSIZE não for especificado ou se MAXTRANSFERSIZE = 65536 (64 KB) for usado, a compactação de backup com bancos de dados criptografados TDE compacta diretamente as páginas criptografadas e pode não produzir boas taxas de compactação. Para obter mais informações, consulte Compactação de backup para bancos de dados habilitados para TDE.
Do SQL Server 2019 (15.x) CU5 em diante, a configuração de MAXTRANSFERSIZE não é mais necessária para habilitar esse algoritmo de compactação otimizado com TDE. Se o comando backup for especificado WITH COMPRESSION ou a configuração de servidor padrão de compactação de backup for definido como 1, MAXTRANSFERSIZE será automaticamente aumentado para 128 K para habilitar o algoritmo otimizado. Se MAXTRANSFERSIZE for especificado no comando de backup com um valor > 64K, o valor fornecido será respeitado. Em outras palavras, o SQL Server nunca diminuirá o valor automaticamente, ele somente o aumentará. Se você precisar fazer backup de um banco de dados criptografado com TDE com MAXTRANSFERSIZE = 65536, será preciso especificar WITH NO_COMPRESSION ou garantir que a configuração de servidor padrão de compactação de backup seja definida como 0.
Para obter mais informações, confira BACKUP (Transact-SQL).
Aviso
Se você estiver executando vários backups em um único conjunto de mídias de backup após aplicar o SQL Server 2019 CU5, instale o SQL Server 2019 CU9 (KB13768244) para resolver um problema de restauração conhecido. A falha ao fazer isso pode resultar em backups que não podem ser restaurados.
Depois de aplicar o SQL Server 2019 CU9, o processo de backup impõe a opção INIT , que impede a combinação de backups de bancos de dados que usam TDE ou têm DEKs (Chaves de Criptografia de Banco de Dados) diferentes em um único conjunto de mídias de backup.
Alocação de espaço para o arquivo de backup
Para backups compactados, o tamanho do arquivo de backup final depende de como os dados são compactáveis e isto é 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 predefini 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 crescerá 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 somente cresça conforme o necessário para alcançar 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é-localizaçã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. Porém, usar este sinalizador de rastreamento pode causar uma pequena penalidade de desempenho (um possível aumento na duração da operação de backup).
Tarefas relacionadas
Exibir ou configurar a opção de configuração de servidor backup compression default
Usar o Resource Governor para limitar o uso de CPU por meio da compactação de backup (Transact-SQL)
Próximas etapas
Visão geral do backup (SQL Server)
Definir sinalizadores de rastreamento com DBCC TRACEON (Transact-SQL)