Utilizando Backup de Filegroup no SQL Server – Final

Dica – Utilizando Backup de Filegroup no SQL Server – Final.

Anúncios

Boa tarde, pessoal!!!

Estou de volta mais uma vez para finalizar esta série de artigos sobre Backup de Filegroup.

— Parte Final —

Bom mas nem tudo pode ser considerado fácil, aparentemente nosso ambiente esta integro e funcional, mas não é bem assim. Se tentarmos inserir ou consultar dados em uma das tabelas armazenada no filegroup Secondary, recebemos uma mensagem de erro informando que este filegroup encontra-se em offline, conforme apresenta a Figura 12.

Figura 12. Tentativa de consulta a tabela Saldos, mas filegroup Secondary em offline.

Isso ocorreu pois realizamos uma restauração parcial do nosso ambiente, mas não se atentamos para o detalhe que também será necessário liberar o filegroup Secondary para uso.

Consultando a system catalog view Sys.Database_Files, poderemos encontrar mais informações sobre o atual status no nosso banco de dados e seus respectivos filegroups, podemos observar a coluna state_desc, que apresenta o status atual dos arquivos, conforme a Figura 13.

Figura 13. Informações sobre o status de cada filegroup.

Analisando as informaões apresentadas na Figura 13, observamos que o Arquivo de Dados Primário e o Arquivo de
Log
de Transações estão apresentando o status de OnLine, ao contrário do segundo arquivo de dados, definido como Recovery_Pending.

Para resolvermos este pequeno obstáculo, é muito simples, basta realizar a restauração do filegroup Secondary e posteriormente restaurar novamente o Log de Transações sobre este banco, desta forma, o SQL Server ira entender que este arquivo esta liberado para ser utilizado, conforme apresenta a Listagem 10.

Listagem 10. Liberando o filegroup Secondary para uso

— Bloco 1 —

Use master

Go

Restore Database SQLMagazine

File = ‘SQLMagazine_Secondary_Dados’,

Filegroup = ‘Secondary’

From Disk = ‘C:\SQL\Backup-Secondary-SQLMagazine.bak’

With File=1,  Replace,  NoRecovery

Go

— Bloco 2 —

Use master

Go

Restore Log SQLMagazine

From Disk = ‘C:\SQL\Backup-Log-SQLMagazine.bak’

With Recovery

Go

Agora sim, nosso ambiente esta totalmente operacional, pronto para ser utilizado, ambos os filegroups estão liberados para manipulação de dados e objetos, para confirmar, podemos utilizar novamente a system catalog view Sys.Database_Files,
conforme apresenta a Figura 14, de acordo com a coluna state_desc.

Figura 14. Informações sobre cada filegroup, liberados para uso, com status OnLine.

Como podemos observar, o processo de restauração do segundo filegroup também foi realizado, com uma única diferença em relação ao filegroup Primary. Não tivemos a necessidade utilizar a opção Partial, pois não estavamos restaurando o filegroup Primary.
Havendo a necessidade de restauração do filegroup Secondary, deveríamos repetir somente os passos apresentados anteriormente na Listagem 10.

Conclusão

A utilização de diversos filegroups em um banco de dados pode trazer vários benefícios, como: maior disponibilidade, contigência, melhorias de performance e segurança. Em relação a administração poderemos ter um pouco mais de esforços necessários para manter o ambiente operacional, mas nada que acabe impedindo sua implementação.

Como podemos observar, uma das vantagens em seu utilizar dois ou mais filegroups esta vinculada com a possibilidade de manter nosso ambiente em funcionamento, mesmo que possam ocorrer problemas de disponibilidade. O artigo demonstrou de forma simples e prática como realizar a recuperação de objetos e seus dados, sem gerar a impossibilidade de acesso ao Banco de Dados.

Além disso, foi possível entender alguns conceitos relacionados a Backup e Restauração de dados, bem como, os comandos básicos utilizados em cada recursos, possibilitando entender suas diferenças e características.

De que se trata o artigo:

Neste artigo, apresentaremos uma das estratégias para se trabalhar com Filegroups, o chamado Backup de Filegroups, onde temos a disposição a possibilidade de gerar cópias de seguranças dos nossos grupos de arquivos de forma completa ou isoladamente, auxiliando na manutenção e disponibilidade de nosso ambiente.

Para que serve:

O Backup de Filegroup tem como objetivo proporcionar um ambiente mais seguro para retenção e recuperação de dados. Através desta estratégia de backup, temos a possibilidade de recuperar parte de um banco de dados, sem ter a necessidade de
recuperar o banco como um todo.

Outro detalhe importante, o Backup de Filegroup pode ser facilmente implementado, sem necessitar qualquer tipo de aquisição de Hardware ou Software. Em combinação com o serviço de tarefas agendadas existentes no SQL Server, chamado de SQL
Server Agent, torna-se possível programar a cópia isolada de partes do banco de dados em horários específicos, melhorando ainda mais a segurança das informações manipuladas anteriormente a última cópia de segurança(Backup de Dados).

Em que situação o tema útil:

Este tipo de funcionalidade pode ser útil em ambientes com grande manipulação de informações, necessidade de contigência isolada dos dados, ou ainda que necessitam ser armazenadas de forma segura e não permitam qualquer tipo de perda. Em caso de qualquer falha, através do Backup de Filegroups torna-se possível recuperar as áreas manipuladas de um Banco de Dados sem afetar outras áreas que estão integras ou necessariamente não necessitam ser recuperadas através de processo de Restauração de Dados(Restore).

Notas – Backup: Permite o backup integral ou parcial do banco de dados do SQL Server ou de arquivos individuais ou de grupos de arquivos do banco de dados. Não é possível criar backups no nível de tabela.
O backup e a restauração do SQL Server funcionam em todos os sistemas operacionais suportados, se forem sistemas de 64 ou 32 bits. O escopo de um backup de dados (um backup de dados) pode ser um banco de dados inteiro, um banco de dados parcial ou um conjunto de arquivos ou grupos de arquivos.

Restore: Restauração é o processo de copiar dados de um backup e aplicar transações em log aos dados para fazer roll-forward até o ponto de recuperação de destino. Um backup de dados ou diferencial contém registros de log de transações suficientes para permitir roll-froward nas transações ativas como parte da restauração de cada backup.

Cada backup contém também log suficiente para reverter transações não confirmadas para trazer o banco de dados a um estado operacional consistente e utilizável. O processo de reverter transações não confirmadas, se houver, e trazer o banco de dados online é conhecido como recuperação.

Modelos de Recuperação de Banco de Dados: Os modelos de recuperação são projetados para controlar a manutenção de log de transações. Existem três modelos de recuperação: simples, completo e bulk-logged.
Geralmente, um banco de dados usa o modelo de recuperação completa ou o modelo de recuperação simples.

Referências

Books OnLine do SQL Server 2008.

ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.pt/s10de_6tsql/html/89a4658a-62f1-4289-8982-f072229720a1.htm

Books OnLine do SQL Server 2008.

ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.pt/s10de_4deptrbl/html/0331befe-dc11-462e-a6f2-da7b08f0a672.htm

Books OnLine do SQL Server 2008.

ms-help://MS.SQLCC.v10/MS.SQLSVR.v10.pt/s10de_6tsql/html/877ecd57-3f2e-4237-890a-08f16e944ef1.htm

MSDN Library – Backup (Transact-SQL)

http://msdn.microsoft.com/en-us/library/ms186865.aspx

MSDN Library – Backup Overview (SQL Server)

http://msdn.microsoft.com/en-us/library/ms175477.aspx

MSDN Library – Restore Restrictions Under the Simple Recovery Model

http://msdn.microsoft.com/en-us/library/ms189323.aspx

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulação Oficial Microsoft MVP - SQL Server renovada desde 2007.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s