Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. 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, o impacto da compactação de backups no desempenho, a configuração da compactação de backups e a taxa de compactação. A compactação de backup tem suporte nas edições do SQL Server: Enterprise, Standard e Developer. Cada edição do SQL Server 2008 (10.0.x) e posterior pode restaurar um backup compactado.
Benefícios
Como um backup compactado é menor do que um backup não compactado dos mesmos dados, compactar um backup normalmente requer menos E/S do dispositivo e, portanto, geralmente aumenta significativamente a velocidade do backup.
Para obter mais informações, consulte Impacto no desempenho da compactação de backups, mais adiante neste artigo.
Restrições
As seguintes restrições se aplicam a backups compactados:
Backups compactados e não compactados 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) Preview, um novo algoritmo de compactação, ZSTD, está disponível para compactação de backup. Este algoritmo é mais rápido e eficaz do que o algoritmo MS_XPRESS anterior.
Você pode usar o algoritmo ZSTD para compactação de backup de uma das seguintes maneiras:
- Especificando a
WITH COMPRESSION (ALGORITHM = ZSTD)opção 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. Esta opção define o algoritmo de compactação de backup padrão como ZSTD para todos os backups que usam a
WITH COMPRESSIONopção.
Observação
O algoritmo ZSTD está atualmente em pré-visualização e apenas disponível na Pré-visualização do SQL Server 2025 (17.x).
Impacto no desempenho da compressão de backups
Por padrão, a compactação aumenta significativamente o uso da CPU e a CPU adicional consumida pelo 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 Utilize o Gestor de Recursos para limitar o uso da CPU durante a compactação de backups (Transact-SQL).
A partir do SQL Server 2022 (16.x), você pode usar o descarregamento integrado e a aceleração para compactar backups e descarregar os recursos da CPU para o backup.
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 Device Throughput Bytes/seg do objeto SQLServer:Backup Device
O contador Taxa de Velocidade de Backup/Restauro/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 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 para o backup nas colunas backup_size e compressed_backup_size da tabela de histórico do conjunto de backups , da seguinte maneira:
backup_size:compressed_backup_size
Por exemplo, uma taxa de compactação de 3:1 indica que você está economizando cerca de 66% em 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 compressão de um backup compactado depende dos dados que foram compactados. Uma variedade de fatores pode afetar a taxa de compressão obtida. Os principais fatores incluem:
O tipo de dados.
Os dados de texto compactam 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 nas quais um campo contém o mesmo valor, poderá ocorrer uma compressão significativa 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 encriptados comprimem significativamente menos do que os dados não encriptados equivalentes. 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 de backups pode não reduzir o tamanho significativamente.
Para obter mais informações relacionadas à compactação de bancos de dados criptografados com TDE (Transparent Data Encryption), consulte Compactação de backup com TDE.
Se o banco de dados está compactado.
Se o banco de dados for compactado, a compactação de backups pode não reduzir muito seu tamanho, se for o caso.
Compactação de backup com TDE
A partir do SQL Server 2016 (13.x), a configuração MAXTRANSFERSIZEmaior que 65536 (64 KB) permite um algoritmo de compactação otimizado para TDE (Transparent Data Encryption) bancos de dados criptografados que primeiro descriptografa uma página, compacta-a e depois a criptografa 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 compactará diretamente as páginas criptografadas e poderá 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.
A partir do SQL Server 2019 (15.x) CU5, a configuração MAXTRANSFERSIZE não é mais necessária para habilitar esse algoritmo de compactação otimizado com TDE. Se o comando de backup for especificado WITH COMPRESSION ou a configuração padrão do servidor de compactação de backup estiver definida como 1, MAXTRANSFERSIZE será automaticamente aumentada para 128K para habilitar o algoritmo otimizado. Se MAXTRANSFERSIZE for especificada no comando de backup com um valor > 64K, o valor fornecido será honrado. Em outras palavras, o SQL Server nunca diminuirá automaticamente o valor, apenas o aumentará. Se você precisar fazer backup de um banco de dados criptografado TDE com
Para obter mais informações, consulte BACKUP (Transact-SQL).
Advertência
Se você estiver executando vários backups em um único conjunto de mídia de backup depois de aplicar o SQL Server 2019 CU5, instale o SQL Server 2019 CU9 (KB13768244) para resolver um problema de restauração conhecido. Se isso não for feito, pode resultar em backups que não podem ser restaurados.
Depois de aplicar o SQL Server 2019 CU9, o processo de backup aplica 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 num único meio de backup.
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 que a operação de backup seja concluída. 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 pré-aloca 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 aumenta 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. Esse sinalizador de rastreamento é útil se você precisar economizar espaço alocando apenas o tamanho real necessário para o backup compactado. No entanto, o uso desse 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 do servidor padrão de compactação de backup
Use o Administrador de Recursos para limitar o uso da CPU por compactação de backup (Transact-SQL)
Próximos passos
Visão geral do Backup (SQL Server)
Definir sinalizadores de rastreamento com DBCC TRACEON (Transact-SQL)