Professional Documents
Culture Documents
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
------------------- Comprobando Tablas: Tabla1, Tabla2 y Tabla3. use [Cibertec] selectCOUNT(*)from dbo.tabla1 go selectCOUNT(*)from dbo.tabla2 go selectCOUNT(*)from dbo.tabla3 go
7.- Ingresamos Datos a las Tablas: Para el ejemplo use 3 script Datos Tabla1.sql Datos Tabla2.sql Datos Tabla3.sql
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:
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
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]
---------------------------- 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
CREATE TABLE [tabla2] ( campo1 int, campo2 varchar(25), campo3 varchar(26) ) ON LOGOS GO
use [Cibertec] select COUNT(*) from dbo.tabla1 go select COUNT(*) from dbo.tabla2 go select COUNT(*) from dbo.tabla3 go
use [Cibertec]
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 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
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