Realizando backup de grandes volumes de dados

A estratégia de filegroups possibilita alcançarmos a faixa dos terabytes para execução de backups de grandes massas de dados.

É cada vez mais crescente o número de empresas que têm bancos de dados que estejam no intervalo de terabytes e/ou pentabytes. Eles são conhecidos como bancos de dados de grande volume de dados (VLDBs). Imagine tentar executar um backup de um banco de dados que possua 10TB diariamente todas as noites, ou até mesmo semanalmente. Mesmo se você tivesse adquirido o hardware mais moderno, você ainda percebe que está levando muito tempo para realização do backup. Uma solução para esta problemática pode ser a execução de backups utilizando a estratégia de filegroups, uma maneira em que podemos fazer o backup através de pequenas seções do banco de dados de cada vez.

Simplesmente, um filegroup é um agrupamento lógico de arquivos de banco de dados. Usando filegroups, você pode explicitamente colocar objetos do banco de dados em um determinado conjunto de arquivos.  Por exemplo, você pode separar tabelas e índices não clusterizados em filegroups distintos, conforme mostrado na figura abaixo.


05-11-2007pic01.JPG

Dessa forma, o banco de dados não é limitado sendo colocado em um único disco rígido, ele pode ser distribuído por vários outros discos rígidos e, portanto, pode crescer e ficar realmente bem grande. Também temos que lembrar que adoção de filegroups pode melhorar o desempenho, porque as modificações em uma tabela podem ser gravadas tanto na tabela quanto no índice ao mesmo tempo. Outra vantagem é a capacidade de marcar todos os dados de arquivos que fazem parte dele como ReadOnly, ReadWrite, ou ambos. É interessante adotar essa abordagem quando você tem uma grande preocupação com seus dados, logo, os filegroups lhe dão a capacidade de backup com apenas um único filegroup de cada vez. Isso pode ser extremamente útil para um VLDB, porém o grande tamanho do banco de dados pode fazer o processo de backup extremamente demorado.


Agora vamos implementar esta estratégia de backup para o banco de dados AdventureWorks que ficou muito grande e não está mais cabendo em um único disco. Para acomodar esse crescimento e melhorar o desempenho, você decidiu distribuir o banco de dados AdventureWorks por vários discos usando filegroup. Você sabe que realizar um backup de filegroup é o método de backup mais rápido para grandes bancos de dados. Portanto, você decidiu iniciar a execução de backups de filegroup no Adventureworks após a criação do filegroup.

 

Para adicionar um filegroup para o banco de dados AdventureWorks, siga os seguintes passos:

 

1. Abra o SQL Server Management Studio, expanda e depois clique em Databases.

2. Clique com o botão direito na base de dados AdventureWorks, e selecione Properties.

3. Na página Filegroups, clique em no botão Add. Na caixa de texto digite Secondary, como mostra a figura abaixo.

 

05-11-2007pic02.JPG
 

4. Na página Files, clique no botão Add e digite as seguintes informações, como mostrado na figura a seguir:

_ Name: AdventureWorks_Data2

_ File Type: Data

_ Filegroup: Secondary

_ Initial Size: 3.

 

05-11-2007pic03.JPG 

 

5. Pressione OK para criar o novo arquivo no filegroup Secondary.

 

6. Agora para adicionar uma tabela no novo filegroup, expanda o banco de dados AdventureWorks no Object Explorer, depois clique em Tables, e selecione New Table.

 

7. Sobre Column Name na primeira linha, digite Emp_Name e  escolha o tipo de dado varchar com tamanho 50.

 

8. Na segunda linha, vamos digitar  Emp_Number e escolher o tipo de dado varchar com tamanho 50

 

9. Altere o filegroup para Secondary na opção Filegroup or Partition Scheme Name, como mostra a figura abaixo.

05-11-2007pic04.JPG

10. Pressione no botão Save para criar a nova tabela, e entre com o nome Employees para o nome da tabela e em seguida feche o Table Desginer.

11. Vamos adicionar alguns dados nesta nova tabela, abra uma new query, e execute as seguintes intruções sql.

 

USE AdventureWorks

INSERT Employees

VALUES(‘Hiro Nakamura’, ‘VZ1765FR’)

INSERT Employees

VALUES(‘Claire Bennet’, ‘HQ9187GL’)

 

12. Feche a janela da consulta que você acabou de executar.

 

13. Com o segundo filegroup para armazenar os dados, você pode executar o backup do filegroup.

 

14. Clique com o botão direito na base de dados AventureWorks no Object Explorer, selecione Taks, e escolha Back Up.

-          Na caixa de diálogo do Backup selecione o banco de dados que será feito o backup, em nosso cenário será o AdventureWorks, e depois escolha o modo de recuperação Full, como mostra a figura abaixo.


05-11-2007pic05.JPG 

 

-          Na opção Backup Component, selecione Files and Filegroups.

 

-          Na caixa de diálogo, Files and Filegroups, marque o checkbox para Secondary, and click OK, como mostra a figura abaixo.


05-11-2007pic06.JPG 

 

15. As outras opções você pode deixar conforme exposto na figura e pressione em OK para começar o backup, como mostra a figura abaixo.

 

05-11-2007pic07.JPG 

 

Neste artigo, você aprendeu como criar uma estratégia de backup usando filegroup,  visando atender a necessidade de armazenamento de grandes volumes de dados.