DesenvolvimentoBanco de DadosBackup e Restore SQL Server - Parte 1

Backup e Restore SQL Server – Parte 1

-

Figura - Backup e Restore SQL Server - Parte 1Hoje trabalharemos em cima de como fazer um backup e como restaurar uma base de dados em um nível mais básico. Trabalharemos com os tipos de backup FULL, DIFFERENTIAL e T-LOG.

  • Backup Full: Tem como finalidade realizar o backup de tudo que está armazenado no determinado banco de dados, características, atributos do objeto de banco de dados e etc.
  • Backup Differential: Só pode ser usado quando há um backup full já feito e em modo de recuperação FULL. Ele armazena apenas o que foi alterado após o backup full. Ele é mais usado que o backup T-LOG, uma vez que o backup T-LOG armazena muitas transações, e você só pode restaurar um backup do tipo T-LOG se você tiver todos os arquivos.

Vamos ao exemplo de um backup full, e um backup differential:

CREATE DATABASE TESTEBACKUP
GO

USE TESTEBACKUP
GO

CREATE TABLE TABELA
(
COL1 INT IDENTITY,
COL2 VARCHAR(10)
)
GO

INSERT INTO TABELA VALUES (‘CADASTRO 1’)
INSERT INTO TABELA VALUES (‘CADASTRO 2’)
INSERT INTO TABELA VALUES (‘CADASTRO 3’)
INSERT INTO TABELA VALUES (‘CADASTRO 4’)
INSERT INTO TABELA VALUES (‘CADASTRO 5’)
INSERT INTO TABELA VALUES (‘CADASTRO 6’)
INSERT INTO TABELA VALUES (‘CADASTRO 7’)

ALTER DATABASE TESTEBACKUP
SET RECOVERY FULL

Nossa base tem 7 registros, coloquei o banco em modo de recuperação FULL, pois se tiver em modo SIMPLE, não conseguiríamos fazer nosso backup differential. Vamos fazer nosso primeiro backup full:

BACKUP DATABASE <NOME DO BANCO> TO DISK = <CAMINHO PARA SER SALVO>
BACKUP DATABASE TESTEBACKUP TO DISK = ‘D:\BACKUPS\BACKUPFULL.BAK’

Normalmente utilizamos a extensão .bak ao fazer um backup do tipo full.
Feito nosso backup, vamos fazer uma alteração no nosso banco:

UPDATE TABELA SET COL2 = ‘SQL SERVER’
WHERE COL1 IN (1,2,3)

Select1

Perceba que alterei a COL2 dos 3 primeiros registros, vamos aplicar agora um backup differential, onde ele irá fazer backup do que foi alterado desde o último backup full:

BACKUP DATABASE TESTEBACKUP TO DISK = ‘D:\BACKUPS\BACKUPDIFF1.BAK’
WITH DIFFERENTIAL

Select2

Vamos fazer mais uma alteração no nosso banco:

DELETE FROM TABELA
WHERE COL1 IN (6,7)

Agora nossa tabela ficou desta forma:

Select3

Após esta alteração de deletar alguns registros, vamos fazer mais um backup differential:

BACKUP DATABASE TESTEBACKUP TO DISK = ‘D:\BACKUPS\BACKUPDIFF2.BAK’
WITH DIFFERENTIAL

Select4

 

Ou seja, no primeiro backup differential, temos gravado UPDATE que demos na tabela, e no segundo, temos o DELETE. E se eu perder meu primeiro backup differential? Perderei também a instrução DELETE? A resposta é NÃO! Uma vez em que o backup differential armazena tudo que foi modificado desde o último backup full! Vamos ao teste, vamos deletar nossa base e restaurar apenas o backup full e o segundo backup differential:

USE MASTER
GO
DROP DATABASE TESTEBACKUP
GO

Usei o master pois não podemos deletar um banco em que estejamos conectados.

Vamos restaurar primeiramente nosso backup FULL:

RESTORE DATABASE TESTEBACKUP FROM DISK = ‘D:\BACKUPS\BACKUPFULL.BAK’
WITH NORECOVERY

Select5

Veja que utilizei a instrução WITH NORECOVERY, para dizer ao SQL Server que este banco ainda está em processo de restauração, pois falta restaurarmos o backup differential e que ninguém poderá ainda se conectar a este banco. Vamos restaurar o nosso segundo backup differential:

RESTORE DATABASE TESTEBACKUP FROM DISK = ‘D:\BACKUPS\BACKUPDIFF2.BAK’
WITH RECOVERY

Select6

Nosso banco está restaurado completamente, a instrução WITH RECOVERY diz que não haverá outro processo de restauração após este. Lembre-se que restaurei apenas o segundo backup differential, ignorando a existência do primeiro. Agora vamos verificar nossa tabela:

USE TESTEBACKUP
GO
SELECT * FROM TABELA
GO

Select7

Todas as alterações que fizemos desde o último backup full, foram recuperadas com sucesso. Esta é a grande sacada do backup differential: não precisamos de backups differential anteriores para podermos recuperar tudo que foi alterado na nossa base, precisamos apenas do último. A não ser que você queira restaurar apenas o que foi alterado no primeiro backup differential.

Na parte 2, trabalharemos com o backup T-LOG.

Fábio Oliveira
Formado em Análise e Desenvolvimento de Sistemas, 22 anos, trabalho atualmente com suporte à sistemas de varejo, estudante da plataforma SQL Server e autor de artigos no site Guia DBA.

4 COMMENTS

Latest news

IA para MSPs: como a inteligência artificial está transformando o mercado de serviços gerenciados

A Inteligência Artificial (IA) está desempenhando um papel crucial na transformação dos Prestadores de Serviços Gerenciados (MSPs). Mais do...

O que é integração de sistemas de RH e como ela facilita o trabalho?

A integração de sistemas de RH traz muitos benefícios, principalmente em termos de otimização do tempo e de recursos. Sem ela, diferentes plataformas podem gerar dados desconexos e difíceis de consolidar, o que pode levar a erros e à sobrecarga de trabalho manual.

Cibersegurança como pilar da resiliência empresarial: a abordagem estratégica dos MSPs

Na última década, a segurança cibernética deixou de ser um tema restrito às áreas de TI para se tornar...

Plano de conteúdo para redes sociais: o que divulgar sendo uma empresa de TI?

Não encontrar o conteúdo certo para a rede social da sua empresa é um problema que está perto de acabar. Acesse e conheça o Plano de Conteúdo!
Publicidade

Estratégia de comunicação para TI: 5 erros para NÃO cometer

Existem 5 erros comuns que você não pode cometer mais na comunicação da sua empresa. Se você é um MSP que busca o sucesso, acesse e confira!

Inovação e Liderança: Uma Jornada de Transformação Digital

Inovação e Liderança: Uma Jornada de Transformação DigitalNo ritmo acelerado do mundo de hoje, a combinação de inovação e empreendedorismo é fundamental para profissionais que desejam gerar impacto nas organizações. Ao longo da minha carreira, passei de funções técnicas para posições de liderança, e, nesse caminho, aprendi como a tecnologia pode ser uma força transformadora nos negócios.

Must read

IA para MSPs: como a inteligência artificial está transformando o mercado de serviços gerenciados

A Inteligência Artificial (IA) está desempenhando um papel crucial...

O que é integração de sistemas de RH e como ela facilita o trabalho?

A integração de sistemas de RH traz muitos benefícios, principalmente em termos de otimização do tempo e de recursos. Sem ela, diferentes plataformas podem gerar dados desconexos e difíceis de consolidar, o que pode levar a erros e à sobrecarga de trabalho manual.
- Advertisement -

You might also likeRELATED
Recommended to you