trabajo final cibertec

17
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

Upload: todopublico

Post on 18-Apr-2015

133 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Trabajo Final Cibertec

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,

Page 2: Trabajo Final Cibertec

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

Page 3: Trabajo Final 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

Page 4: Trabajo Final Cibertec

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

Page 5: Trabajo Final Cibertec

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

Page 6: Trabajo Final Cibertec

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

Page 7: Trabajo Final Cibertec

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

Page 8: Trabajo Final Cibertec

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:

Page 9: Trabajo Final Cibertec

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

Page 10: Trabajo Final Cibertec

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]

Page 11: Trabajo Final 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]

Page 12: Trabajo Final 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

Page 13: Trabajo Final Cibertec

---------------------------- 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

Page 14: Trabajo Final Cibertec

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]

Page 15: Trabajo Final 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