trabajo final cibertec
TRANSCRIPT
Administrando Base de Datos SQL Server
1.- Creación de la base de datos.
Inicial mente creamos Lo siguiente:
01 Base de Datos Nombre Cibertec
01 FileGroup Nombre DATA
01 Archivo Físico Cibertec_DATA
2. Verificamos Arquitectura de BD Cibertec
2. Creamos Una tabla en el FileGroup DATA.
USE [Cibertec]GO
CREATETABLE [tabla1](id int,
nombre varchar(20))ON [DATA]
3.- Creación de 01FileGroup en HDD EXTRAIBLE F:
------------ Adicionando Un FileGroup LOGOS y------------ seleccionado ArchivoUSE [master]ALTERDATABASE [Cibertec] ADD FILEGROUP LOGOS
ALTERDATABASE Cibertec ADDFILE(NAME='Cibertec_LOGOS',FILENAME='F:\LOGO\CIBERTEC_LOGO.ndf')TO FILEGROUP LOGOS
4.- Creación de las tablas en cada FileGroup
-------------------- Adicionando Tabla2 y Tabla3 en FileGroup LOGOSuse [Cibertec]CREATETABLE [tabla2](campo1 int,campo2 varchar(25),campo3 varchar(26))ON LOGOSGO
use [Cibertec]CREATETABLE [tabla3](id int,descrip varchar(25))ON LOGOSGO
5. Verificación de BASE DE DATOS
------------------- Comprobando BaseDatos y FilesGroupssp_helpDB Cibertec
------------------- Comprobando Tablas: Tabla1, Tabla2 y Tabla3.use [Cibertec] selectCOUNT(*)from dbo.tabla1goselectCOUNT(*)from dbo.tabla2goselectCOUNT(*)from dbo.tabla3go
6.- Hacemos un Backup FULL
----------------- Creamos un Backup Full de la base de datos 14:30
BACKUPDATABASE [cibertec] TODISK=N'E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'WITHNOFORMAT,NOINIT, NAME =N'Cibertec-Full Database Backup',SKIP,NOREWIND,NOUNLOAD,STATS= 10GO
7.- Ingresamos Datos a las Tablas:
Para el ejemplo use 3 script
Datos Tabla1.sql
Datos Tabla2.sql
Datos Tabla3.sql
8. Generación de Backup LOG
----------------- Creamos un Backup de LOG de la base de datos 14:55use [master]BACKUPLOG [Cibertec] TODISK='E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn'WITHNOINITGO
9.- Realizando comprobación de los archivos de Backup
10. Procedemos a simular la perdida de datos
Para lo cual procedemos a remover el disco Extraible F:
Donde se encuentra el Archivo CIBERTEC_LOGO.nfl
Archivo que almacena las tablas: Tabla2 y Tabla3
-Después de encender el equipo podemos ver que no existe la unidad F:
No existe la Unidad F:
Iniciamos El SSMS y podemos apreciar la siguiente Imagen
9.- Realizamos la restauración parcial de la BASE de DATOS
Con el Backup FULL.
Restauramos la Base de Datos pero solo recuperamos el archivo que se encuentra dañado en el disco F:\LOGO
Debemos crear y asegurarnos que debe existir la carpeta LOGO.
------------------ Reemplazando la Base De Datos Cibertec------------------ Recuperamos solo el FileGroup LOGORESTOREDATABASE Cibertec FILEGROUP ='LOGOS'FROMDISK='E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'WITHFILE=1,REPLACE,NORECOVERY,PARTIAL,MOVE'Cibertec_LOGO'TO'F:\LOGO\CIBERTEC_LOGO.ndf'GO
La base de datos se encuentra en MODO Restoring
Realizamos la restauración con el Backup LOG
RESTORELOG CibertecFROMDISK='E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455trn'WITHFILE= 1,RECOVERYGO
10.- Verificación que FileGroupDATA esta offline por que solo se ha restaurado el Archivo 'F:\LOGO\CIBERTEC_LOGO.ndf' donde solo estan el FILEGROUP LOGOS.
use CibertecgoselectCOUNT(*)from dbo.tabla1goselectCOUNT(*)from dbo.tabla2goselectCOUNT(*)from dbo.tabla3go
11.- Recuperación total de la BD.
-------------------- Restaurando toda la base de DatosUSEmasterRESTOREDATABASE [Cibertec] FROMDISK=N'E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'WITHFILE= 1,REPLACE,NORECOVERY,NOUNLOAD,STATS= 10GO------------------ Restauramos los Datos con el Backup de LOG
RESTORELOG CibertecFROMDISK='E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn'WITHFILE= 1,RECOVERYGO
12.- Luego de Realizar la restauración total con los Backup FULL y LOG
Verificamos los datos:
Nota:Se podía haber hecho la restauración parcial de la base de Datos con otro nombre y poder hacer verificaciones sin tocar la base de datos original. Y realizar restauración de cada FILEGROUP por archivo.
Articulo consultado
PartialDatabaseRestoreOperations
http://msdn.microsoft.com/en-us/library/aa196613%28v=sql.80%29.aspx
sp_helpDBCibertec
---------------------------- Adicionando Una Tabla en FileGroup DATA
USE [Cibertec]
GO
CREATE TABLE [tabla1] (
idint,
nombrevarchar(20)
) ON [DATA]
SelectCOUNT(*) from Dbo.tabla1
---------------------------- Adicionando Un FileGroup LOGOS y seleccionado Archivo
USE [master]
ALTER DATABASE [Cibertec] ADD FILEGROUP LOGOS
Use [Cibertec]
ALTER DATABASE Cibertec ADD FILE
(NAME='Cibertec_LOGO',
FILENAME='F:\LOGO\CIBERTEC_LOGO.ndf')
TO FILEGROUP LOGOS
---------------------------- Adicionando Tabla2 y Tabla3 en FileGroup LOGOS
use [Cibertec]
CREATE TABLE [tabla2] (
campo1 int,
campo2 varchar(25),
campo3 varchar(26)
) ON LOGOS
GO
use [Cibertec]
CREATE TABLE [tabla3] (
idint,
descripvarchar(25)
) ON LOGOS
GO
---------------------------- Comprobando BaseDatos y FilesGroups
sp_helpDBCibertec
use [Cibertec]
select COUNT(*) from dbo.tabla1
go
select COUNT(*) from dbo.tabla2
go
select COUNT(*) from dbo.tabla3
go
use [Cibertec]
Select COUNT(*) from sys.tables
selectname,object_id,type_desc from sys.tables
---------------------------- Creamos un Backup Full de la base de datos 14:40
BACKUP DATABASE [cibertec] TO DISK = N'E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'
WITH NOFORMAT, NOINIT, NAME = N'Cibertec-Full Database Backup',
SKIP, NOREWIND, NOUNLOAD,
STATS = 10
GO
-- Ingresamos Datos a las Tablas Usando Script
-- Datos tabla1.sql
-- Datos tabla2.sql
-- Datos tabla3.sql
------- Comprobamos datos en Tablas
use [Cibertec]
select COUNT(*) from dbo.tabla1
go
select COUNT(*) from dbo.tabla2
go
select COUNT(*) from dbo.tabla3
go
---------------------------- Creamos un Backup de LOG de la base de datos 14:55
use [master]
BACKUP LOG [Cibertec] TO DISK=
'E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn'
WITH NOINIT
GO
----------------- Leyendo las Cabeceras de Backup Full
RESTORE FILELISTONLY FROM DISK='E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'
GO
RESTORE HEADERONLY FROM DISK='E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'
GO
----------------- leyendo las cabeceras de Backup de LOG
RESTORE FILELISTONLY FROM DISK='E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn'
GO
RESTORE HEADERONLY FROM DISK='E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn'
GO
------------------
------------------ Reemplazando la Base De Datos Cibertec
------------------ Recuperamos solo el FileGroup LOGO
RESTORE DATABASE Cibertec
FILEGROUP = 'LOGOS'
FROM DISK='E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'
WITH FILE=1,REPLACE,NORECOVERY,PARTIAL,
MOVE 'Cibertec_LOGO' TO 'F:\LOGO\CIBERTEC_LOGO.ndf'
GO
------------- Restauramos los Datos con el Backup LOG
RESTORE LOG Cibertec
FROM DISK = 'E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1525.trn'
WITH FILE = 1, RECOVERY
GO
--------
useCibertec
go
select COUNT(*) from dbo.tabla1
go
select COUNT(*) from dbo.tabla2
go
select COUNT(*) from dbo.tabla3
go
-------------------- Restaurando toda la base de Datos
USE master
RESTORE DATABASE [Cibertec]
FROM DISK = N'E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak'
WITH FILE = 1, REPLACE, NORECOVERY, NOUNLOAD,
STATS = 10
GO
------------------ Restauramos los Datos con el Backup de LOG
RESTORE LOG Cibertec
FROM DISK = 'E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn'
WITH FILE = 1, RECOVERY
GO