Sunteți pe pagina 1din 15

Administrando Base de Datos SQL Server

1.- Creacin de la base de datos. Inicial mente creamos Lo siguiente: 01 Base de Datos Nombre Cibertec 01 FileGroup Nombre DATA 01 Archivo Fsico 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.- Creacin de 01FileGroup en HDD EXTRAIBLE F:


------------ Adicionando Un FileGroup LOGOS y ------------ seleccionado Archivo USE [master] ALTERDATABASE [Cibertec] ADD FILEGROUP LOGOS ALTERDATABASE Cibertec ADDFILE (NAME='Cibertec_LOGOS', FILENAME='F:\LOGO\CIBERTEC_LOGO.ndf') TO FILEGROUP LOGOS

4.- Creacin de las tablas en cada FileGroup


-------------------- Adicionando Tabla2 y Tabla3 en FileGroup LOGOS use [Cibertec] CREATETABLE [tabla2]( campo1 int, campo2 varchar(25), campo3 varchar(26) )ON LOGOS GO use [Cibertec] CREATETABLE [tabla3]( id int, descrip varchar(25) )ON LOGOS GO

5. Verificacin de BASE DE DATOS


------------------- Comprobando BaseDatos y FilesGroups sp_helpDB Cibertec

------------------- Comprobando Tablas: Tabla1, Tabla2 y Tabla3. use [Cibertec] selectCOUNT(*)from dbo.tabla1 go selectCOUNT(*)from dbo.tabla2 go selectCOUNT(*)from dbo.tabla3 go

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= 10 GO

7.- Ingresamos Datos a las Tablas: Para el ejemplo use 3 script Datos Tabla1.sql Datos Tabla2.sql Datos Tabla3.sql

8. Generacin de Backup LOG


----------------- Creamos un Backup de LOG de la base de datos 14:55 use [master] BACKUPLOG [Cibertec] TODISK= 'E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn' WITHNOINIT GO

9.- Realizando comprobacin 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 -Despus 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 restauracin parcial de la BASE de DATOS Con el Backup FULL. Restauramos la Base de Datos pero solo recuperamos el archivo que se encuentra daado 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 LOGO RESTOREDATABASE 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 restauracin con el Backup LOG
RESTORELOG Cibertec FROMDISK='E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455trn' WITHFILE= 1,RECOVERY GO

10.- Verificacin que FileGroupDATA esta offline por que solo se ha restaurado el Archivo 'F:\LOGO\CIBERTEC_LOGO.ndf' donde solo estan el FILEGROUP LOGOS.
use Cibertec go selectCOUNT(*)from dbo.tabla1 go selectCOUNT(*)from dbo.tabla2 go selectCOUNT(*)from dbo.tabla3 go

11.- Recuperacin total de la BD.


-------------------- Restaurando toda la base de Datos USEmaster RESTOREDATABASE [Cibertec] FROMDISK=N'E:\BACKUP\BKFULL_CIBERTEC_20120926_1430.bak' WITHFILE= 1,REPLACE,NORECOVERY,NOUNLOAD, STATS= 10 GO ------------------ Restauramos los Datos con el Backup de LOG RESTORELOG Cibertec FROMDISK='E:\BACKUP_CIBERTEC\BKLOG_CIBERTEC_20120925_1455.trn' WITHFILE= 1,RECOVERY GO

12.- Luego de Realizar la restauracin total con los Backup FULL y LOG Verificamos los datos:

Nota:Se poda haber hecho la restauracin parcial de la base de Datos con otro
nombre y poder hacer verificaciones sin tocar la base de datos original. Y realizar restauracin 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

S-ar putea să vă placă și