Criando backup e restaurando no SQL Server 2008 R2
Veja neste artigo como fazer um backup e restaurar um banco de forma manual usando T-SQL no SQL Server 2008 R2.
Vamos dar inicio criando um banco de dados, no caso deste artigo vou nomea-lo como BANCO_BACKUP, veja o código abaixo:
CREATE DATABASE BANCO_BACKUP
GO
Depois de executado, confira se o banco foi criado, visualize no OBJECT EXPLORER no Management Studio, como mostra a figura 1:
Com o banco criado, podemos demonstrar um simples backup, conhecido como Backup Full, mas antes crie uma pasta na raiz C:\ com o nome de BACKUP, veja o código abaixo:
BACKUP DATABASE BANCO_BACKUP TO DISK='C:\BACKUP\BANCO_BACKUP-FULL.BAK'
GO
Execute o comando, depois vá até a raiz C:\BACKUP e veja o arquivo de backup criado, note o extensão do arquivo, como mostra a figura 2:
Vamos criar uma tabela com o nome de CLIENTES, com dois campos: CLI_ID e NOME, veja o código abaixo:
CREATE TABLE CLIENTES (
CLI_ID INT PRIMARY KEY,
CLI_NOME VARCHAR (50),
)
GO
Em seguida vamos inserir dados na tabela criada, siga o código abaixo:
INSERT INTO CLIENTES VALUES (01, 'JOSE ALVES')
INSERT INTO CLIENTES VALUES (02, 'AUGUSTO DOS ANJOS')
Para confirmar veja os dados inseridos utilizando um SELECT, veja abaixo:
SELECT * FROM CLIENTES
Depois de executar o código acima, veja o resultado como mostra a figura 3:
Neste momento vamos criar um novo backup, já que ouve mudanças no banco de dados, veja o código abaixo:
BACKUP DATABASE BANCO_BACKUP TO DISK='C:\BACKUP\BANCO_BACKUP-FULL-2.BAK'
No caso apresentado informamos o mesmo nome de backup adicionado de um numero 2, para diferenciar do primeiro backup, veja novamente na pasta C:\BACKUP, como mostra a figura 4:
Vamos agora deletar o banco criado, logo em seguida vamos restaura-lo e mostrar a diferença entre o primeiro backup e o segundo, antes de deletar o banco, sai do contexto do mesmo e em seguida execute o código abaixo:
DROP DATABASE BANCO_BACKUP
Logo em seguida faça a restauração do seu primeiro backup, siga o exemplo do código abaixo:
RESTORE DATABASE BANCO_BACKUP FROM DISK='C:\BACKUP\BANCO_BACKUP-FULL.BAK'
GO
Pronto, o banco foi restaurado, porem sem a tabela e sem os dados, no começo deste artigo fizemos simplesmente o backup do banco sem tabelas e dados e inseridos, veja na figura 5:
Vamos refazer alguns passos, primeiramente apague o banco novamente e em seguida faça a restauração do banco utilizando o segundo Backup Full, para facilitar mostrarei o código abaixo:
DROP DATABASE BANCO_BACKUP
GO
Neste momento, faça o backup do banco utilizando o segundo Backup Full, como mostra o código abaixo:
RESTORE DATABASE BANCO_BACKUP FROM DISK='C:\BACKUP\BANCO_BACKUP-FULL-2.BAK'
GO
Depois de executar este comando, verifique no OBEJECT EXPLORER se existe alguma diferença entre o primeiro backup e o segundo, como mostra na figura 6:
Agora vamos fazer uma serie de comandos, inserção de dados e criação de backups de log e diferencial, execute um de cada vez, veja o código abaixo:
INSERT INTO CLIENTES VALUES (03, 'FRANCISCO JOSE')
INSERT INTO CLIENTES VALUES (04, 'JOSE RAIMUNDO')
BACKUP LOG BANCO_BACKUP TO DISK = 'C:\BACKUP\BANCO_BACKUP-LOG1.TRN'
GO
INSERT INTO CLIENTES VALUES (05, 'ATILA ALVES')
INSERT INTO CLIENTES VALUES (06, 'PAULO CESAR')
BACKUP LOG BANCO_BACKUP TO DISK = 'C:\BACKUP\BANCO_BACKUP-LOG2.TRN'
GO
BACKUP DATABASE BANCO_BACKUP TO DISK='C:\BACKUP\BACKUP_BANCO-DIFF-1.BAK' WITH DIFFERENTIAL
Para confirmar a criação dos backups de log e diferencial, veja na raiz C:\, como mostra a figura 7:
Para concluir está parte, vamos selecionar a tabela CLIENTES apenas para visualização, veja a figura 8:
Neste momento vamos fazer mais uma inserção de dados, utilize o código abaixo:
INSERT INTO CLIENTES VALUES (09, 'CARLOS ALBERTO')
Para finalizar, vamos apagar o banco e em seguida vamos executar ultimo Backup Full e o diferencial, execute os comando um de cada vez:
DROP DATABASE BANCO_BACKUP
GO
RESTORE DATABASE BANCO_BACKUP FROM DISK='C:\BACKUP\BANCO_BACKUP-FULL-2.BAK' WITH NORECOVERY
GO
RESTORE DATABASE BANCO_BACKUP FROM DISK='C:\BACKUP\BACKUP_BANCO-DIFF-1.BAK' WITH NORECOVERY
GO
RESTORE DATABASE BANCO_BACKUP
GO
Para maiores informações entre no contexto do banco de dados e faça um SELECT na tabela CLIENTES e veja que a ultima inserção não foi salva.
Com isso finalizo este artigo básico e direto, espero que o mesmo sirva para ajudar em duvidas sobre backup.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo