--AULA 01 - CREATE DATABASE
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
-- STEP 1: Criar a pasta "F:\CAP"
-- STEP 2: Criar o banco de dados CAP
CREATE DATABASE [CAP]
ON PRIMARY
(NAME = 'CAP_Data1_PRIMARY',
FILENAME = 'F:\CAP\CAP_Data1.mdf',
SIZE = 3MB,
FILEGROWTH = 10%),
FILEGROUP [FG2]
(NAME = 'CAP_Data2_FG2',
FILENAME = 'F:\CAP\CAP_Data2.ndf',
SIZE = 3MB,
FILEGROWTH = 10%),
(NAME = 'CAP_Data3_FG2',
FILENAME = 'F:\CAP\CAP_Data3.ndf',
SIZE = 3MB,
FILEGROWTH = 10%),
(NAME = 'CAP_Data4_FG2',
FILENAME = 'F:\CAP\CAP_Data4.ndf',
SIZE = 3MB,
FILEGROWTH = 10%),
FILEGROUP [FG3]
(NAME = 'CAP_Data5_FG3',
FILENAME = 'F:\CAP\CAP_Data5.ndf',
SIZE = 3MB,
FILEGROWTH = 10%),
FILEGROUP [FG4_History]
(NAME = 'CAP_Data6_FG4_History',
FILENAME = 'F:\CAP\CAP_Data6.ndf',
SIZE = 3MB,
FILEGROWTH = 10%)
LOG ON
(NAME = 'CAP_log1',
FILENAME = 'F:\CAP\CAP_log1.ldf',
SIZE = 1MB,
FILEGROWTH = 10%)
GO
sp_helpdb CAP
--AULA 02 -- BACKUP DATABASE
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
/********** BACKUP DATABASE **********/
USE CAP
GO
CREATE TABLE associados
(
cod INT IDENTITY PRIMARY KEY,
nome CHAR(30)
)
GO
INSERT INTO associados VALUES ('BACKUP FULL')
SELECT * FROM associados
-- STEP 1: Criar a pasta "F:\BACKUP"
--BACKUP COMPLETO
BACKUP DATABASE CAP
TO DISK = 'F:\BACKUP\CAP_BKFULL.bak'
GO
INSERT INTO associados VALUES ('BACKUP DIFERENCIAL')
SELECT * FROM associados
--BACKUP DIFERENCIAL
BACKUP DATABASE CAP
TO DISK = 'F:\BACKUP\CAP_BKDIFF.bak'
WITH DIFFERENTIAL
GO
INSERT INTO associados VALUES ('BACKUP DO LOG')
SELECT * FROM associados
--BACKUP DO LOG
BACKUP LOG CAP
TO DISK = 'F:\BACKUP\CAP_BKLOG.bak'
GO
INSERT INTO associados VALUES ('BACKUP DO FINAL DO LOG')
SELECT * FROM associados
--BACKUP DO FINAL DO LOG
USE master
GO
BACKUP LOG CAP
TO DISK = 'F:\BACKUP\CAP_BKLOG_TAIL.bak'
WITH NORECOVERY, NO_TRUNCATE
GO
--AULA 03 -- RESTORE DATABASE
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
/********** DATABASE CRASH **********/
USE [master]
GO
DROP DATABASE CAP
/********** RESTORE DATABASE - COMPLETO **********/
RESTORE DATABASE CAP
FROM DISK = 'F:\BACKUP\CAP_BKFULL.bak'
WITH NORECOVERY
GO
RESTORE DATABASE CAP
FROM DISK = 'F:\BACKUP\CAP_BKDIFF.bak'
WITH NORECOVERY
GO
RESTORE LOG CAP
FROM DISK = 'F:\BACKUP\CAP_BKLOG.bak'
WITH NORECOVERY
GO
RESTORE LOG CAP
FROM DISK = 'F:\BACKUP\CAP_BKLOG_TAIL.bak'
WITH RECOVERY
GO
--Depois de restaurar o Backup Completo, Diferencial e do LOG
USE CAP
GO
SELECT * FROM associados
--AULA 04 -- RESTORE DATABASE EM DETALHE
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 19/11/2009
-- Descrição : Módulo 03 -> BACKUP e RESTORE
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
/********** RESTORE DATABASE - STEP BY STEP **********/
-- STEP 1: FULL
USE [master]
GO
DROP DATABASE CAP
GO
RESTORE DATABASE CAP
FROM DISK = 'E:\BACKUP\CAP_BKFULL.bak'
WITH RECOVERY
GO
USE CAP
GO
SELECT * FROM associados
-- STEP 2: FULL + DIFERENCIAL
USE [master]
GO
DROP DATABASE CAP
GO
RESTORE DATABASE CAP
FROM DISK = 'E:\BACKUP\CAP_BKFULL.bak'
WITH NORECOVERY
GO
RESTORE DATABASE CAP
FROM DISK = 'E:\BACKUP\CAP_BKDIFF.bak'
WITH RECOVERY
GO
USE CAP
GO
SELECT * FROM associados
-- STEP 3: FULL + DIFERENCIAL + LOG
USE [master]
GO
DROP DATABASE CAP
GO
RESTORE DATABASE CAP
FROM DISK = 'E:\BACKUP\CAP_BKFULL.bak'
WITH NORECOVERY
GO
RESTORE DATABASE CAP
FROM DISK = 'E:\BACKUP\CAP_BKDIFF.bak'
WITH NORECOVERY
GO
RESTORE LOG CAP
FROM DISK = 'E:\BACKUP\CAP_BKLOG.bak'
WITH RECOVERY
GO
USE CAP
GO
SELECT * FROM associados
-- STEP 4: FULL + DIFERENCIAL + LOG + FINAL DO LOG
USE [master]
GO
DROP DATABASE CAP
GO
RESTORE DATABASE CAP
FROM DISK = 'E:\BACKUP\CAP_BKFULL.bak'
WITH NORECOVERY
GO
RESTORE DATABASE CAP
FROM DISK = 'E:\BACKUP\CAP_BKDIFF.bak'
WITH NORECOVERY
GO
RESTORE LOG CAP
FROM DISK = 'E:\BACKUP\CAP_BKLOG.bak'
WITH NORECOVERY
GO
RESTORE LOG CAP
FROM DISK = 'E:\BACKUP\CAP_BKLOG_TAIL.bak'
WITH RECOVERY
GO
USE CAP
GO
SELECT * FROM associados
--AULA 05 -- RESTORE DATABASE WITH SSMS
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
/********** BACKUP DATABASE WITH SSMS **********/
USE CAP
GO
CREATE TABLE associados
(
cod INT IDENTITY PRIMARY KEY,
nome CHAR(30)
)
GO
INSERT INTO associados VALUES ('BACKUP FULL')
SELECT * FROM associados
-- STEP 1: Criar a pasta "F:\BACKUP"
--Fazer o BACKUP COMPLETO do banco CAP
--Armazenar o backup em F:\BACKUP
INSERT INTO associados VALUES ('BACKUP DIFERENCIAL')
SELECT * FROM associados
--Fazer o BACKUP DIFERENCIAL do banco CAP
--Armazenar o backup em F:\BACKUP
INSERT INTO associados VALUES ('BACKUP DO LOG')
SELECT * FROM associados
--Fazer o BACKUP DO LOG do banco CAP
--Armazenar o backup em F:\BACKUP
INSERT INTO associados VALUES ('BACKUP DO FINAL DO LOG')
SELECT * FROM associados
--Fazer o BACKUP DO FINAL DO LOG do banco CAP
--Armazenar o backup em F:\BACKUP
/********** DATABASE CRASH **********/
USE [master]
GO
DROP DATABASE CAP
/********** RESTORE DATABASE - COMPLETO **********/
--Restaurar o BACKUP COMPLETO do banco CAP
--Armazenar os data files e log files em F:\CAP
--Restaurar o BACKUP DIFERENCIAL do banco CAP
--Restaurar o BACKUP DO LOG do banco CAP
--Restaurar o BACKUP DO FINAL DO LOG do banco CAP
--Depois de restaurar o Backup Completo, Diferencial e do LOG
USE CAP
GO
SELECT * FROM associados
--AULA 06 -- BACKUP DEVICE
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
/********** BACKUP DEVICE **********/
USE [master]
GO
-- Criando um Backup Device
EXEC sp_addumpdevice 'disk', 'CAP_Backup',
'F:\BACKUP\CAP_Backup.bak'
GO
--BACKUP COMPLETO
BACKUP DATABASE CAP TO CAP_Backup
GO
--VERIFICANDO O BACKUP
RESTORE HEADERONLY FROM CAP_Backup
GO
RESTORE FILELISTONLY FROM CAP_Backup
GO
RESTORE VERIFYONLY FROM CAP_Backup
GO
BACKUP DATABASE CAP TO CAP_Backup
WITH FORMAT --> Format the backup device before backing up the database
GO
RESTORE HEADERONLY FROM CAP_Backup
BACKUP DATABASE CAP TO CAP_Backup
WITH INIT --> Overwrites any previous backups on that file
GO
RESTORE HEADERONLY FROM CAP_Backup
BACKUP DATABASE CAP TO CAP_Backup
WITH NOINIT --> DEFAULT
--> Appends a full database backup.
--> Any previous backup files are left intact.
GO
--AULA 07 -- MIRROR BACKUP
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
-- STEP 1: Criar as pastas "F:\BACKUP" e "E:\BACKUP"
-- STEP 2: Criar Backup Devices
EXEC sp_addumpdevice 'disk', 'CAP_Mirror1',
'F:\BACKUP\CAP_Backup_1.bak'
GO
EXEC sp_addumpdevice 'disk', 'CAP_Mirror2',
'E:\BACKUP\CAP_Backup_2.bak'
GO
--BACKUP COMPLETO USANDO O "MIRROR TO"
USE [master]
GO
BACKUP DATABASE CAP
TO CAP_Mirror1
MIRROR TO CAP_Mirror2
WITH FORMAT
GO
--AULA 08 -- CREATE DATABASE
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
-- STEP 1: Criar a pasta "F:\CAP"
-- STEP 2: Criar o banco de dados CAP
USE [master]
GO
IF EXISTS (SELECT name FROM sys.databases WHERE name = N'CAP')
DROP DATABASE [CAP]
GO
CREATE DATABASE [CAP]
ON PRIMARY
(NAME = 'CAP_Data1',
FILENAME = 'F:\CAP\CAP_Data1.mdf',
SIZE = 3MB,
FILEGROWTH = 10%),
FILEGROUP [FG2]
(NAME = 'CAP_Data2',
FILENAME = 'F:\CAP\CAP_Data2.ndf',
SIZE = 3MB,
FILEGROWTH = 10%)
LOG ON
(NAME = 'CAP_log1',
FILENAME = 'F:\CAP\CAP_log1.ldf',
SIZE = 1MB,
FILEGROWTH = 10%)
GO
sp_helpdb CAP
--AULA 09 -- BACKUP DATA FILE
-- ====================================================================================
-- Autor : Lineu Alves Lima Filho
-- Data Criação : 08/03/2010
-- Descrição : Módulo 03
-- ====================================================================================
-- Versão : 1.0
-- ====================================================================================
-- Versão :
-- Data Atualização :
-- ====================================================================================
-- Criando um cenário
USE CAP
GO
CREATE TABLE alunos1
(
cod INT IDENTITY PRIMARY KEY,
nome CHAR(30)
)
GO
CREATE TABLE alunos2
(
cod INT IDENTITY PRIMARY KEY,
nome CHAR(30)
) ON FG2
GO
INSERT INTO alunos1 VALUES ('Ana')
INSERT INTO alunos2 VALUES ('Julia')
SELECT * FROM alunos1
SELECT * FROM alunos2
--BACKUP COMPLETO
USE [master]
GO
BACKUP DATABASE CAP
TO DISK = 'F:\BACKUP\CAP_BKFULL.bak'
GO
USE CAP
GO
INSERT INTO alunos1 VALUES ('Roberto')
INSERT INTO alunos2 VALUES ('Ricardo')
--BACKUP DO FINAL DO LOG
USE [master]
GO
BACKUP LOG CAP
TO DISK = 'F:\BACKUP\CAP_BKLOG.bak'
WITH NORECOVERY, NO_TRUNCATE
GO
--Restaurando o FILEGROUP PRIMARY
USE [master]
GO
RESTORE DATABASE CAP
FILE = 'CAP_Data1'
FROM DISK = 'F:\BACKUP\CAP_BKFULL.bak'
WITH FILE = 1, REPLACE, NORECOVERY, PARTIAL --> Importante para deixar o FILEGROUP on-line
--BACKUP DO FINAL DO LOG
USE [master]
GO
RESTORE LOG CAP
FROM DISK = 'F:\BACKUP\CAP_BKLOG.bak'
WITH RECOVERY
GO
--Executar uma query de cada vez
USE CAP
GO
SELECT * FROM alunos1
SELECT * FROM alunos2
--Verificando o estado dos arquivos
USE CAP
GO
SELECT name, state_desc
FROM sys.database_files
--Restaurando o FILEGROUP FG2
USE [master]
GO
RESTORE DATABASE CAP
FILE = 'CAP_Data2'
FROM DISK = 'F:\BACKUP\CAP_BKFULL.bak'
WITH FILE = 1
--BACKUP DO FINAL DO LOG
USE [master]
GO
RESTORE LOG CAP
FROM DISK = 'F:\BACKUP\CAP_BKLOG.bak'
WITH RECOVERY
GO
--Verificando os dados restaurandos
USE CAP
GO
SELECT * FROM alunos1
SELECT * FROM alunos2
--Aparango o cenário
DROP TABLE alunos1
DROP TABLE alunos2
--AULA 10 -- RESTORE MASTER
--PASSO 01
--Criar a tabela TESTE e inserir 1 registro
USE master
GO
CREATE TABLE TESTE
(
CODIGO INT
)
GO
INSERT INTO TESTE VALUES (1)
GO
SELECT * FROM TESTE
GO
--PASSO 02
--Criar a pasta F:\BACKUP
--PASSO 03
--Fazer o backup do master
BACKUP DATABASE master TO DISK = 'F:\BACKUP\master.bak'
GO
--PASSO 04
--Apagar a tabela
DROP TABLE TESTE
GO
SELECT * FROM TESTE
GO
--PASSO 05
--Parar todos os serviços do SQL Server 2008 (Configuration Manager)
--PASSO 06
--Colocar a instância em single user admin mode
Ir até a pasta: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn
Executar: sqlservr.exe –m
--PASSO 07
--Restaurar o banco master
RESTORE DATABASE master FROM DISK = 'F:\BACKUP\master.bak'
GO
--PASSO 08
--Iniciar o serviço do SQL Server 2008
NET START MSSQLSERVER
--PASSO 09
--Verificar se a tabela TESTE foi restaurada com sucesso
USE master
GO
SELECT * FROM TESTE
Nenhum comentário:
Postar um comentário