Compactação de Dados em Backups no SQL Server 2008

 

Continuando a série de artigos sobre as novas funcionalidades do SQL Server 2008, abordaremos neste artigo um recurso tão esperado pelos DBAs, a compactação de dados na realização de backups. Após uma longa espera, nesta nova versão teremos a opção com compactação embutida para backups. Até o lançamento do SQL Server 2005, a compactação só estava disponível via software de backup de terceiros, como SQL LiteSpeed, SQLZip, dentre outros.

Demonstraremos como fazer cópias de segurança com e sem compactação para os tipos de backup: Full, Differential e Transactional log, e,  por fim ativar a compactação como padrão no SQL Server 2008.

Observação: Este artigo foi feito com base no Microsoft SQL Server 2008 – CTP Nov no Windows Server 2003.

Para ilustrar nosso artigo, criamos um banco de dados, chamado DevMedia conforme descrito abaixo.

SQL-25-02-2008pic01.JPG
 

Agora, vamos criar uma tabela, chamada Texemplo no banco de dados DevMedia, conforme descrito a seguir.

SQL-25-02-2008pic02.JPG
 

Vamos inserir 20.000 linhas de dados na tabela Texemplo, conforme abaixo:

SQL-25-02-2008pic03.JPG

Vamos criar uma pasta para colocar os backups que iremos fazer. Cri um diretório para armazenar as cópias de segurança.

SQL-25-02-2008pic04.JPG
 

Inicialmente, vamos fazer um backup Full da base de dados DevMedia, de acordo com descrição a seguir:

 

SQL-25-02-2008pic05.JPG
SQL-25-02-2008pic12.JPG

 

Agora, vamos adicionar mais 5000 linhas na tabela Texemplo para que possamos fazer o Backup Transaction Log. Veja quadro abaixo.

 

SQL-25-02-2008pic06.JPG 

 

Por padrão, o SQL Server não compacta os backups. É possível compactar os backups de duas maneiras diferentes.

 

a. Altere o padrão do SQL Server para compactar todos os backups.

 

b. Ou adicione a palavra-chave “WITH COMPRESSION” na cláusula de backup.

 

Os backup Full e Transaction Log que fizemos do banco de dados DevMedia foram sem compactação, que é padrão do SQL Server.

 

SQL-25-02-2008pic07.JPG 

 

Você pode observar que o tamanho do arquivo DevMedia_Full2.bak é muito menor, comparando com os outros backup que fizemos, DevMedia_Full.bak e DevMedia_Tlog.bak

 

Agora, vamos fazer o backup dos logs da base de dados DevMedia com compressão, veja abaixo a instrução para execução.

 

SQL-25-02-2008pic08.JPG 


Na Figura acima, você pode ver que o tamanho do arquivo do backup DevMedia_Tlog_new.bak é muito menor quando comparado a DevMedia_Tlog_1.bak. Vamos fazer um backup diferencial sem compactação e compará-lo com o backup diferencial com compactação.

Execute os comandos a seguir como mostrado abaixo.

SQL-25-02-2008pic09.JPG

Também podemos alterar o comportamento padrão do SQL Server  de sem  compressão de backup para compressão. Isto pode ser feito usando a instrução SP_CONGIFURE, conforme descrito abaixo.

SQL-25-02-2008pic10.JPG

Agora, vamos fazer uma cópia de segurança do banco de dados DevMedia FULL, sem a opção WITH COMPRESSION.

SQL-25-02-2008pic11.JPG

Note que o arquivo DevMedia_Full3.bak ficou com o mesmo tamanho da cópia de segurança que fizemos anteriormente com a opção WITH COMPRESSION.

Neste artigo, você aprendeu como fazer backup Full, Differential e Transaction Log com e sem compressão, além de saber como habilitar a compactação de dados como padrão no SQL Server 2008.