SlideShare una empresa de Scribd logo
1 de 40
SQL Server 2005
SQL Server 2005 Webcast
Parte 8: Minimizando el Tiempo
Muerto
Qué Cubriremos:
• Mejorar disponibilidad de la base de
datos usando operaciones de
restauración en línea
• Reinicio y recuperación mas rápido de las
bases de datos con SQL Server 2005
• Usando la administración de la
fragmentación para reducir la cantidad de
tiempo muerto que usamos en el
mantenimiento de la base de datos.
Conocimiento Necesario
Nivel 200Nivel 200
• Experiencia manejando servidores
Windows 2003
• Experiencia manejando y manteniendo
SQL Server 2000.
• Experiencia administrando bases de
datos.
Agenda
• Revisión
• Operaciones de restauración en línea
• Administración de la fragmentación.
Revisión
Mejoras en la indexación
• Declaraciones ALTER INDEX
• Operaciones de indexación en línea.
• Operaciones de indexación en paralelo.
• Opciones de bloqueo
• Incluir columnas.
Revisión
Mejoras en los índices
• Fragmentando usando ALTER INDEX con
REORGANIZE y cláusulas REBUILD
SELECT TableName, IndexName, AvgPageFullness, AvgFragmentation
FROM sys.dm_db_index_physical_stats(DEFAULT, '*', DEFAULT, 'DETAILED')
ORDER BY TableName, IndexName
• Monitor usando SQL Server Management Studio o
dinámicamente usando funciones de administración.
Revisión
Mejoras en la indexación
• Nueva
herramienta de
tuning en SQL
Server 2005
• Optimizar la
estructura de la
base de datos
para una
especifica
carga de
trabajo
Revisión
Mejoras en la indexación
¿Cuál es la sentencia que puedes usar
para fragmentar un índice?
1. ALTER INDEX con la opción REORGANIZE.
2. ALTER INDEX con la opción DEFRAGMENT.
3. ALTER INDEX con la opción REBUILD.
4. DBCC INDEXDEFRAG
Revisión
Mejoras en la indexación
¿Cual es la vista donde puedes buscar los
índices de la fragmentación?
1. sys.dm_db_index_operational_stats.
2. sys.dm_db_index_physical_stats.
3. sys.dm_db_index_usage_stats.
4. sys.indexes.
Agenda
• Revisión
• Operaciones de restauración en línea
• Administración de la fragmentación
Operaciones de restauración en línea
Descripción
• SQL Server 2000
– La base de datos no esta disponible durante la
restauración.
• SQL Server 2005
– La base de datos permanece en línea si el filegroup
primario permanece en línea
• Opciones de Restauración
– Pagina
• Otras paginas y archivos permanecen en linea.
– Archivos / Grupo de archivos (Filegroups)
• Solamente los filegroups afectados se encuentran fuera de
línea los demás permanecen en línea.
Operaciones de restauración en línea
Seguimiento del daño en la pagina
• Daños a las paginas encontrados al leer
– Una pagina rota o un error en el checksum
– ID erróneos en las paginas
– No se puede leer
• Bases de datos permanecen disponibles
– Transaction rolls back
– Errores durante el rollback forza a la base de datos a un
reinicio.
• Daños en las paginas
– Automáticamente guardar el error en un log con
suspect_page_table
– Se puede restaurar y recuperar en línea
– Trabajar en la base de datos con un solo filegroup
Operaciones de Restauración en línea
Restaurando una pagina
1. Obtener el ID de las paginas dañadas.
SELECT * FROM msdb..suspect_page_tableSELECT * FROM msdb..suspect_page_table
Operaciones de restauración en línea
Restaurando una pagina
1. Obtener el ID de las paginas dañadas.
2. Hacer un respaldo de la parte activa del Log de
transacciones
BACKUP LOG AdventureWorks
TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
BACKUP LOG AdventureWorks
TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
Operaciones de restauración en línea
Restaurando una pagina
1. Obtener el ID de las paginas dañadas.
2. Hacer un respaldo de la parte activa del Log de
transacciones
3. Restaurar las paginas dañadas del mas reciente
respaldo
RESTORE DATABASE AdventureWorks PAGE = '3:3241'
FROM DISK = '...' WITH NORECOVERY;
RESTORE DATABASE AdventureWorks PAGE = '3:3241'
FROM DISK = '...' WITH NORECOVERY;
Operaciones de restauración en línea
Restaurando una pagina
1. Obtener el ID de las paginas dañadas.
2. Hacer un respaldo de la parte activa del Log de
transacciones
3. Restaurar las paginas dañadas del mas reciente
respaldo
4. Aplicar el respaldo del log y recuperar la base de
datos
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH RECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH RECOVERY;
Operaciones de restauración en línea
Restaurando una pagina
1. Obtener el ID de las paginas dañadas.
2. Hacer un respaldo de la parte activa del Log de
transacciones
3. Restaurar las paginas dañadas del mas reciente
respaldo
4. Aplicar el respaldo del log y recuperar la base de
datos
5. Bring the database up to date using the active log
backup RESTORE LOG AdventureWorks
FROM DISK = 'Active_Log.bak'
WITH RECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'Active_Log.bak'
WITH RECOVERY;
Operaciones de restauración en línea
Restaurando una archivo
• Si mas de cinco paginas son dañadas
• Procedimiento:
1. Respalda el log de transacciones activo
BACKUP LOG AdventureWorks
TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
BACKUP LOG AdventureWorks
TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
Operaciones de restauración en línea
Restaurando una archivo
• Si mas de cinco paginas son dañadas
• Procedimiento:
1. Respalda el log de transacciones activo
2. Restaura el archivo dañado
RESTORE DATABASE AdventureWorks
FILE = 'Logical_Damaged_Filename'
FROM DISK = '...' WITH NORECOVERY
RESTORE DATABASE AdventureWorks
FILE = 'Logical_Damaged_Filename'
FROM DISK = '...' WITH NORECOVERY
Operaciones de restauración en línea
Restaurando una archivo
• Si mas de cinco paginas son dañadas
• Procedimiento:
1. Respalda el log de transacciones activo
2. Restaura el archivo dañado
3. Restaura los logs de transacciones
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
Operaciones de restauración en línea
Restaurando una archivo
• Si mas de cinco paginas son dañadas
• Procedimiento:
1. Respalda el log de transacciones activo
2. Restaura el archivo dañado
3. Restaura los logs de transacciones
4. Restaura el log de transacciones activo y recupera
la base de datos
RESTORE LOG AdventureWorks
FROM DISK = 'Active_Log.bak'
WITH RECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'Active_Log.bak'
WITH RECOVERY;
Operaciones de restauración en línea
¿Restaurar un archivo o una pagina?
• Considera restaurar la pagina cuando
– Cuando tienes un numero limitado de paginas
– Cuando debes mantener una disponibilidad máxima
• Considera restaurar el archivo cuando
– Un dispositivo esta fallando
• Cuando tienes un gran nuera de paginas dañadas
• Cuando necesitas reubicar los datos en otra dispositivo
– Cuando puedes tolerar que el filegroup quede inaccesible
Restaurando una pagina en líneaRestaurando una pagina en línea
 Corrompiendo los datos de un archivoCorrompiendo los datos de un archivo
 Accesando a una pagina dañadaAccesando a una pagina dañada
 Identificar una pagina dañadaIdentificar una pagina dañada
 Restaurar una pagina dañadaRestaurar una pagina dañada
DemostraciónDemostración
Operaciones de restauración en línea
Recuperación y reinicio rápido
• La recuperación de base de datos comprende dos
fases
– Haga de nuevo los cambios en registro de la
transacción pero no en base de datos
– Desahace los cambios no hehos a la base de datos
• Con SQL Server 2000, la base de datos no esta
disponible mientras redo and rollback phases
complete
• Con SQL Server 2005, database available when redo
phase completes
– La fase de Rollback continua mientras esta en uso la base
de datos
– Las paginas que requieran Rolback permeceran bloqueadas
Agenda
• Revisión
• Operaciones de restauración en línea
• Administración de la fragmentación.
Administración de la fragmentación
Filegroups y disponibilidad• Filegroup
– Administrar los archivos que puedes
administrar en grupo
– Frecuentemente los usamos para
particionar los datos
• Las bases de datos tiene uno o mas
filegroups
– Filegroup primario bloquea los
metadatos del sistema
– Alamacnamos los datos del usuarios
sobre filegroups definidos por el
usuario
• Filegroup es una unidad de
disponibilidad
– Si una archivo no esta disponible, el
filegroup esta fuera de linea
– Otros filegroups permanecen en
• Si el filegroup primario esta en linea, la
base de datos esta disponible
DatabaseDatabase
PrimaryPrimary
FilegroupFilegroup
Filegroup AFilegroup A
Filegroup BFilegroup B
Arcgivos noArcgivos no
disponibles,disponibles,
filegroup fuera defilegroup fuera de
linealinea
Todos loa archivosTodos loa archivos
disponibles,disponibles,
filegroup en lineafilegroup en linea
Primer filegroup enPrimer filegroup en
linea, base delinea, base de
datos disponibledatos disponible
Administración de la fragmentación
Filegroups y disponibilidad
• Respaldo de filegroups usando BACKUP
DATABASE con la opcion FILEGROUP
• Los Filegroups pueden ser read-write y
read-only
• Crear respaldo de base de deatos
particionada con la opcion
READ_WRITE_FILEGROUPS
– Contiene filegroup primarios y todos los
filegroups read-write
BACKUP DATABASE AdventureWorks
FILEGROUP = 'Filegroup B'
TO DISK = 'Filegroup B.bak';
BACKUP DATABASE AdventureWorks
FILEGROUP = 'Filegroup B'
TO DISK = 'Filegroup B.bak';
BACKUP DATABASE AdventureWorks
READ_WRITE_FILEGROUPS
TO DISK = 'Partial.bak';
BACKUP DATABASE AdventureWorks
READ_WRITE_FILEGROUPS
TO DISK = 'Partial.bak';
DatabaseDatabase
PrimaryPrimary
FilegroupFilegroup
Filegroup AFilegroup A
(read-write)(read-write)
Filegroup BFilegroup B
(read-only)(read-only)
Partial.bakPartial.bak
Filegroup B.bakFilegroup B.bak
Administración de la fragmentación
Filegroups y disponibilidad
• Use RESTORE DATABASE con la opcion FILEGROUP
– Aplica a cualquier respaldo del log de transacciones
• La base de datos permanece online
– No permanece fuera de linea, como en SQL Server 2000
• Si el filegroup es read-only, RESTORE LOG no es usado
RESTORE DATABASE AdventureWorks
FILEGROUP = 'Filegroup B'
FROM DISK = 'Filegroup B.bak'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH RECOVERY;
RESTORE DATABASE AdventureWorks
FILEGROUP = 'Filegroup B'
FROM DISK = 'Filegroup B.bak'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH RECOVERY;
Administración de la fragmentación
Filegroups y disponibilidad
• Una restauracion de la base de
datos particionada nos proporciona
una recuperacion y restauracion
mas rapida.
DatabaseDatabase
PrimaryPrimary
FilegroupFilegroup
Filegroup AFilegroup A
(read-write)(read-write)
Filegroup BFilegroup B
(read-only)(read-only)
Partial.bakPartial.bak
RESTORE DATABASE AdventureWorks
FROM DISK = 'Partial.bak'
WITH PARTIAL, NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH RECOVERY;
RESTORE DATABASE AdventureWorks
FROM DISK = 'Partial.bak'
WITH PARTIAL, NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = '...' WITH RECOVERY;
Administración de la fragmentación
Filegroups y disponibilidad
DatabaseDatabase
PrimaryPrimary
FilegroupFilegroup
Filegroup AFilegroup A
(read-write)(read-write)
Filegroup BFilegroup B
(read-only)(read-only)
Filegroup B.bakFilegroup B.bak
RESTORE DATABASE AdventureWorks
FILEGROUP = 'Filegroup B'
FROM DISK = 'Filegroup B.bak'
WITH RECOVERY;
RESTORE DATABASE AdventureWorks
FILEGROUP = 'Filegroup B'
FROM DISK = 'Filegroup B.bak'
WITH RECOVERY;
2. Restaurar otros filegroups
• Los filegroups con propiedad Read-only
no requiren respaldo, pero debe ser
constante con el filegroup primario
Ejecutar una restauración porEjecutar una restauración por
partespartes
 Creando un respaldo parcialCreando un respaldo parcial
 Restaurando el filegroup primario en lectura yRestaurando el filegroup primario en lectura y
escrituraescritura
 Restaurando filegroup de solo lecturaRestaurando filegroup de solo lectura
DemostraciónDemostración
Repaso
Al restaurar una pagina requiere que los archivos
afectados estén fuera de línea, pero los demás
archivos permanecen en línea.
1. Verdadero
2. Falso
Repaso
¿En que tabla se pueden encontrar las paginas
que contienen errores?
1. master.dbo.suspect_page_table
2. master.dbo.page_error_log
3. msdb.dbo.suspect_page_table
4. AdventureWorks.dbo.suspect_page_table
Repaso
¿Que opción le puedes especificar al comando
BACKUP DATABASE para crear un respaldo
parcial de la base de datos?
1. PARTIAL
2. READ_WRITE_FILEGROUPS
3. SELECTED_FILEGROUPS
4. FILEGROUP
Repaso
¿Con que opción le puedes especificar al comando
RESTORE DATABASE iniciar la restauración por
partes del filegroup primario y todos los filegroups
read-write?
1. WITH PRIMARY
2. WITH READ_WRITE_FILEGROUPS
3. WITH PIECEMEAL
4. WITH PARTIAL
Resumen de la sesión
• Ejecución de paginas en línea y
operaciones de restauración
• Mejor recuperación de las bases de
datos SQL Server
• Usando operaciones de fragmentación
y restauración
Próximos pasos
1. Información SQL Server 2005:
http://www.microsoft.com/sql/2005/default.asp
2. Guías de Administración para actualizar a
SQL Server 2005:
http://www.microsoft.com/learning/syllabi/
en-us/2733afinal.mspx
2. SQL Server 2005 Webcasts en MSDN:
http://msdn.microsoft.com/sql
/2005/2005Webcasts/default.aspx
Preguntas…
• Visita el foro de TechNet en
http://groups.msn.com/technetmexico-online
SQL Server 2005 Webcast Parte 8: Minimizando el Tiempo Muerto

Más contenido relacionado

Similar a SQL Server 2005 Webcast Parte 8: Minimizando el Tiempo Muerto

24 HOP edición Español - El recetario de restore - Warner Chaves
24 HOP edición Español - El recetario de restore - Warner Chaves24 HOP edición Español - El recetario de restore - Warner Chaves
24 HOP edición Español - El recetario de restore - Warner ChavesSpanishPASSVC
 
Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresSolidQ
 
Administración de base de datos oracle - sesión 4
Administración de base de datos oracle - sesión 4Administración de base de datos oracle - sesión 4
Administración de base de datos oracle - sesión 4Sefira111
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magentoOnestic
 
Cursos de hp ux server2008 sql server itil v3 oracle asterisk softrain
Cursos de hp ux server2008 sql server itil v3 oracle asterisk softrainCursos de hp ux server2008 sql server itil v3 oracle asterisk softrain
Cursos de hp ux server2008 sql server itil v3 oracle asterisk softrainServicios Educativos Softrain C.A.
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Alexander Calderón
 
Abf leccion 06
Abf leccion 06Abf leccion 06
Abf leccion 06victdiazm
 
Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)JOSE AHIAS LOPEZ PORTILLO
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oraclevinivaldivieso
 
desarrolo de sitios web php y mysql
desarrolo de sitios web php y mysqldesarrolo de sitios web php y mysql
desarrolo de sitios web php y mysqlJuan Timoteo Cori
 
Abf leccion 19
Abf leccion 19Abf leccion 19
Abf leccion 19victdiazm
 
Presentacion backup recover - copia
Presentacion backup recover - copiaPresentacion backup recover - copia
Presentacion backup recover - copiaGonzalo del Pozo
 
UYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misteriosUYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misteriosNelson Calero
 
Oracle g11 - Administration workshop1 sg1
Oracle g11 - Administration workshop1  sg1 Oracle g11 - Administration workshop1  sg1
Oracle g11 - Administration workshop1 sg1 Rodolfo Zoilo
 
Abf leccion 05
Abf leccion 05Abf leccion 05
Abf leccion 05victdiazm
 
Abf leccion 08
Abf leccion 08Abf leccion 08
Abf leccion 08victdiazm
 
Conceptos de recuperacion y registro de ficheros
Conceptos de recuperacion y registro de ficherosConceptos de recuperacion y registro de ficheros
Conceptos de recuperacion y registro de ficherosGerardo Martínez
 

Similar a SQL Server 2005 Webcast Parte 8: Minimizando el Tiempo Muerto (20)

24 HOP edición Español - El recetario de restore - Warner Chaves
24 HOP edición Español - El recetario de restore - Warner Chaves24 HOP edición Español - El recetario de restore - Warner Chaves
24 HOP edición Español - El recetario de restore - Warner Chaves
 
Copias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastresCopias de seguridad y recuperación de desastres
Copias de seguridad y recuperación de desastres
 
Administración de base de datos oracle - sesión 4
Administración de base de datos oracle - sesión 4Administración de base de datos oracle - sesión 4
Administración de base de datos oracle - sesión 4
 
Rendimiento en magento
Rendimiento en magentoRendimiento en magento
Rendimiento en magento
 
Cursos de hp ux server2008 sql server itil v3 oracle asterisk softrain
Cursos de hp ux server2008 sql server itil v3 oracle asterisk softrainCursos de hp ux server2008 sql server itil v3 oracle asterisk softrain
Cursos de hp ux server2008 sql server itil v3 oracle asterisk softrain
 
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
Estructura de Almacenamiento en Oracle. TableSpaceZ052 07
 
Abf leccion 06
Abf leccion 06Abf leccion 06
Abf leccion 06
 
Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)Modelos de recuperación de desastre híbridos (On premise / Cloud)
Modelos de recuperación de desastre híbridos (On premise / Cloud)
 
Arquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos OracleArquitectura de Bases de Datos Oracle
Arquitectura de Bases de Datos Oracle
 
desarrolo de sitios web php y mysql
desarrolo de sitios web php y mysqldesarrolo de sitios web php y mysql
desarrolo de sitios web php y mysql
 
Abf leccion 19
Abf leccion 19Abf leccion 19
Abf leccion 19
 
Presentacion backup recover - copia
Presentacion backup recover - copiaPresentacion backup recover - copia
Presentacion backup recover - copia
 
UYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misteriosUYOUG 2010 - RMAN sin misterios
UYOUG 2010 - RMAN sin misterios
 
Oracle g11 - Administration workshop1 sg1
Oracle g11 - Administration workshop1  sg1 Oracle g11 - Administration workshop1  sg1
Oracle g11 - Administration workshop1 sg1
 
Funciones del DBA
Funciones del DBAFunciones del DBA
Funciones del DBA
 
Abf leccion 05
Abf leccion 05Abf leccion 05
Abf leccion 05
 
Oracle
OracleOracle
Oracle
 
3.sistema de archivos
3.sistema de archivos3.sistema de archivos
3.sistema de archivos
 
Abf leccion 08
Abf leccion 08Abf leccion 08
Abf leccion 08
 
Conceptos de recuperacion y registro de ficheros
Conceptos de recuperacion y registro de ficherosConceptos de recuperacion y registro de ficheros
Conceptos de recuperacion y registro de ficheros
 

Más de Ramón Guaicara Spluguez (6)

Manual de php basico
Manual de php basicoManual de php basico
Manual de php basico
 
Asesorias proyectos
Asesorias proyectosAsesorias proyectos
Asesorias proyectos
 
Ejemplos Relación Base de datos
Ejemplos Relación Base de datosEjemplos Relación Base de datos
Ejemplos Relación Base de datos
 
Relación Base de Datos Analista
Relación Base de Datos Analista Relación Base de Datos Analista
Relación Base de Datos Analista
 
Quien creo el xp
Quien creo el xpQuien creo el xp
Quien creo el xp
 
Grupo puertas lógicas
Grupo puertas lógicasGrupo puertas lógicas
Grupo puertas lógicas
 

Último

Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 

Último (7)

Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 

SQL Server 2005 Webcast Parte 8: Minimizando el Tiempo Muerto

  • 2. SQL Server 2005 Webcast Parte 8: Minimizando el Tiempo Muerto
  • 3. Qué Cubriremos: • Mejorar disponibilidad de la base de datos usando operaciones de restauración en línea • Reinicio y recuperación mas rápido de las bases de datos con SQL Server 2005 • Usando la administración de la fragmentación para reducir la cantidad de tiempo muerto que usamos en el mantenimiento de la base de datos.
  • 4. Conocimiento Necesario Nivel 200Nivel 200 • Experiencia manejando servidores Windows 2003 • Experiencia manejando y manteniendo SQL Server 2000. • Experiencia administrando bases de datos.
  • 5. Agenda • Revisión • Operaciones de restauración en línea • Administración de la fragmentación.
  • 6. Revisión Mejoras en la indexación • Declaraciones ALTER INDEX • Operaciones de indexación en línea. • Operaciones de indexación en paralelo. • Opciones de bloqueo • Incluir columnas.
  • 7. Revisión Mejoras en los índices • Fragmentando usando ALTER INDEX con REORGANIZE y cláusulas REBUILD SELECT TableName, IndexName, AvgPageFullness, AvgFragmentation FROM sys.dm_db_index_physical_stats(DEFAULT, '*', DEFAULT, 'DETAILED') ORDER BY TableName, IndexName • Monitor usando SQL Server Management Studio o dinámicamente usando funciones de administración.
  • 8. Revisión Mejoras en la indexación • Nueva herramienta de tuning en SQL Server 2005 • Optimizar la estructura de la base de datos para una especifica carga de trabajo
  • 9. Revisión Mejoras en la indexación ¿Cuál es la sentencia que puedes usar para fragmentar un índice? 1. ALTER INDEX con la opción REORGANIZE. 2. ALTER INDEX con la opción DEFRAGMENT. 3. ALTER INDEX con la opción REBUILD. 4. DBCC INDEXDEFRAG
  • 10. Revisión Mejoras en la indexación ¿Cual es la vista donde puedes buscar los índices de la fragmentación? 1. sys.dm_db_index_operational_stats. 2. sys.dm_db_index_physical_stats. 3. sys.dm_db_index_usage_stats. 4. sys.indexes.
  • 11. Agenda • Revisión • Operaciones de restauración en línea • Administración de la fragmentación
  • 12. Operaciones de restauración en línea Descripción • SQL Server 2000 – La base de datos no esta disponible durante la restauración. • SQL Server 2005 – La base de datos permanece en línea si el filegroup primario permanece en línea • Opciones de Restauración – Pagina • Otras paginas y archivos permanecen en linea. – Archivos / Grupo de archivos (Filegroups) • Solamente los filegroups afectados se encuentran fuera de línea los demás permanecen en línea.
  • 13. Operaciones de restauración en línea Seguimiento del daño en la pagina • Daños a las paginas encontrados al leer – Una pagina rota o un error en el checksum – ID erróneos en las paginas – No se puede leer • Bases de datos permanecen disponibles – Transaction rolls back – Errores durante el rollback forza a la base de datos a un reinicio. • Daños en las paginas – Automáticamente guardar el error en un log con suspect_page_table – Se puede restaurar y recuperar en línea – Trabajar en la base de datos con un solo filegroup
  • 14. Operaciones de Restauración en línea Restaurando una pagina 1. Obtener el ID de las paginas dañadas. SELECT * FROM msdb..suspect_page_tableSELECT * FROM msdb..suspect_page_table
  • 15. Operaciones de restauración en línea Restaurando una pagina 1. Obtener el ID de las paginas dañadas. 2. Hacer un respaldo de la parte activa del Log de transacciones BACKUP LOG AdventureWorks TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE; BACKUP LOG AdventureWorks TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
  • 16. Operaciones de restauración en línea Restaurando una pagina 1. Obtener el ID de las paginas dañadas. 2. Hacer un respaldo de la parte activa del Log de transacciones 3. Restaurar las paginas dañadas del mas reciente respaldo RESTORE DATABASE AdventureWorks PAGE = '3:3241' FROM DISK = '...' WITH NORECOVERY; RESTORE DATABASE AdventureWorks PAGE = '3:3241' FROM DISK = '...' WITH NORECOVERY;
  • 17. Operaciones de restauración en línea Restaurando una pagina 1. Obtener el ID de las paginas dañadas. 2. Hacer un respaldo de la parte activa del Log de transacciones 3. Restaurar las paginas dañadas del mas reciente respaldo 4. Aplicar el respaldo del log y recuperar la base de datos RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH RECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH RECOVERY;
  • 18. Operaciones de restauración en línea Restaurando una pagina 1. Obtener el ID de las paginas dañadas. 2. Hacer un respaldo de la parte activa del Log de transacciones 3. Restaurar las paginas dañadas del mas reciente respaldo 4. Aplicar el respaldo del log y recuperar la base de datos 5. Bring the database up to date using the active log backup RESTORE LOG AdventureWorks FROM DISK = 'Active_Log.bak' WITH RECOVERY; RESTORE LOG AdventureWorks FROM DISK = 'Active_Log.bak' WITH RECOVERY;
  • 19. Operaciones de restauración en línea Restaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: 1. Respalda el log de transacciones activo BACKUP LOG AdventureWorks TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE; BACKUP LOG AdventureWorks TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
  • 20. Operaciones de restauración en línea Restaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: 1. Respalda el log de transacciones activo 2. Restaura el archivo dañado RESTORE DATABASE AdventureWorks FILE = 'Logical_Damaged_Filename' FROM DISK = '...' WITH NORECOVERY RESTORE DATABASE AdventureWorks FILE = 'Logical_Damaged_Filename' FROM DISK = '...' WITH NORECOVERY
  • 21. Operaciones de restauración en línea Restaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: 1. Respalda el log de transacciones activo 2. Restaura el archivo dañado 3. Restaura los logs de transacciones RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY;
  • 22. Operaciones de restauración en línea Restaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: 1. Respalda el log de transacciones activo 2. Restaura el archivo dañado 3. Restaura los logs de transacciones 4. Restaura el log de transacciones activo y recupera la base de datos RESTORE LOG AdventureWorks FROM DISK = 'Active_Log.bak' WITH RECOVERY; RESTORE LOG AdventureWorks FROM DISK = 'Active_Log.bak' WITH RECOVERY;
  • 23. Operaciones de restauración en línea ¿Restaurar un archivo o una pagina? • Considera restaurar la pagina cuando – Cuando tienes un numero limitado de paginas – Cuando debes mantener una disponibilidad máxima • Considera restaurar el archivo cuando – Un dispositivo esta fallando • Cuando tienes un gran nuera de paginas dañadas • Cuando necesitas reubicar los datos en otra dispositivo – Cuando puedes tolerar que el filegroup quede inaccesible
  • 24. Restaurando una pagina en líneaRestaurando una pagina en línea  Corrompiendo los datos de un archivoCorrompiendo los datos de un archivo  Accesando a una pagina dañadaAccesando a una pagina dañada  Identificar una pagina dañadaIdentificar una pagina dañada  Restaurar una pagina dañadaRestaurar una pagina dañada DemostraciónDemostración
  • 25. Operaciones de restauración en línea Recuperación y reinicio rápido • La recuperación de base de datos comprende dos fases – Haga de nuevo los cambios en registro de la transacción pero no en base de datos – Desahace los cambios no hehos a la base de datos • Con SQL Server 2000, la base de datos no esta disponible mientras redo and rollback phases complete • Con SQL Server 2005, database available when redo phase completes – La fase de Rollback continua mientras esta en uso la base de datos – Las paginas que requieran Rolback permeceran bloqueadas
  • 26. Agenda • Revisión • Operaciones de restauración en línea • Administración de la fragmentación.
  • 27. Administración de la fragmentación Filegroups y disponibilidad• Filegroup – Administrar los archivos que puedes administrar en grupo – Frecuentemente los usamos para particionar los datos • Las bases de datos tiene uno o mas filegroups – Filegroup primario bloquea los metadatos del sistema – Alamacnamos los datos del usuarios sobre filegroups definidos por el usuario • Filegroup es una unidad de disponibilidad – Si una archivo no esta disponible, el filegroup esta fuera de linea – Otros filegroups permanecen en • Si el filegroup primario esta en linea, la base de datos esta disponible DatabaseDatabase PrimaryPrimary FilegroupFilegroup Filegroup AFilegroup A Filegroup BFilegroup B Arcgivos noArcgivos no disponibles,disponibles, filegroup fuera defilegroup fuera de linealinea Todos loa archivosTodos loa archivos disponibles,disponibles, filegroup en lineafilegroup en linea Primer filegroup enPrimer filegroup en linea, base delinea, base de datos disponibledatos disponible
  • 28. Administración de la fragmentación Filegroups y disponibilidad • Respaldo de filegroups usando BACKUP DATABASE con la opcion FILEGROUP • Los Filegroups pueden ser read-write y read-only • Crear respaldo de base de deatos particionada con la opcion READ_WRITE_FILEGROUPS – Contiene filegroup primarios y todos los filegroups read-write BACKUP DATABASE AdventureWorks FILEGROUP = 'Filegroup B' TO DISK = 'Filegroup B.bak'; BACKUP DATABASE AdventureWorks FILEGROUP = 'Filegroup B' TO DISK = 'Filegroup B.bak'; BACKUP DATABASE AdventureWorks READ_WRITE_FILEGROUPS TO DISK = 'Partial.bak'; BACKUP DATABASE AdventureWorks READ_WRITE_FILEGROUPS TO DISK = 'Partial.bak'; DatabaseDatabase PrimaryPrimary FilegroupFilegroup Filegroup AFilegroup A (read-write)(read-write) Filegroup BFilegroup B (read-only)(read-only) Partial.bakPartial.bak Filegroup B.bakFilegroup B.bak
  • 29. Administración de la fragmentación Filegroups y disponibilidad • Use RESTORE DATABASE con la opcion FILEGROUP – Aplica a cualquier respaldo del log de transacciones • La base de datos permanece online – No permanece fuera de linea, como en SQL Server 2000 • Si el filegroup es read-only, RESTORE LOG no es usado RESTORE DATABASE AdventureWorks FILEGROUP = 'Filegroup B' FROM DISK = 'Filegroup B.bak' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH RECOVERY; RESTORE DATABASE AdventureWorks FILEGROUP = 'Filegroup B' FROM DISK = 'Filegroup B.bak' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH RECOVERY;
  • 30. Administración de la fragmentación Filegroups y disponibilidad • Una restauracion de la base de datos particionada nos proporciona una recuperacion y restauracion mas rapida. DatabaseDatabase PrimaryPrimary FilegroupFilegroup Filegroup AFilegroup A (read-write)(read-write) Filegroup BFilegroup B (read-only)(read-only) Partial.bakPartial.bak RESTORE DATABASE AdventureWorks FROM DISK = 'Partial.bak' WITH PARTIAL, NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH RECOVERY; RESTORE DATABASE AdventureWorks FROM DISK = 'Partial.bak' WITH PARTIAL, NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH RECOVERY;
  • 31. Administración de la fragmentación Filegroups y disponibilidad DatabaseDatabase PrimaryPrimary FilegroupFilegroup Filegroup AFilegroup A (read-write)(read-write) Filegroup BFilegroup B (read-only)(read-only) Filegroup B.bakFilegroup B.bak RESTORE DATABASE AdventureWorks FILEGROUP = 'Filegroup B' FROM DISK = 'Filegroup B.bak' WITH RECOVERY; RESTORE DATABASE AdventureWorks FILEGROUP = 'Filegroup B' FROM DISK = 'Filegroup B.bak' WITH RECOVERY; 2. Restaurar otros filegroups • Los filegroups con propiedad Read-only no requiren respaldo, pero debe ser constante con el filegroup primario
  • 32. Ejecutar una restauración porEjecutar una restauración por partespartes  Creando un respaldo parcialCreando un respaldo parcial  Restaurando el filegroup primario en lectura yRestaurando el filegroup primario en lectura y escrituraescritura  Restaurando filegroup de solo lecturaRestaurando filegroup de solo lectura DemostraciónDemostración
  • 33. Repaso Al restaurar una pagina requiere que los archivos afectados estén fuera de línea, pero los demás archivos permanecen en línea. 1. Verdadero 2. Falso
  • 34. Repaso ¿En que tabla se pueden encontrar las paginas que contienen errores? 1. master.dbo.suspect_page_table 2. master.dbo.page_error_log 3. msdb.dbo.suspect_page_table 4. AdventureWorks.dbo.suspect_page_table
  • 35. Repaso ¿Que opción le puedes especificar al comando BACKUP DATABASE para crear un respaldo parcial de la base de datos? 1. PARTIAL 2. READ_WRITE_FILEGROUPS 3. SELECTED_FILEGROUPS 4. FILEGROUP
  • 36. Repaso ¿Con que opción le puedes especificar al comando RESTORE DATABASE iniciar la restauración por partes del filegroup primario y todos los filegroups read-write? 1. WITH PRIMARY 2. WITH READ_WRITE_FILEGROUPS 3. WITH PIECEMEAL 4. WITH PARTIAL
  • 37. Resumen de la sesión • Ejecución de paginas en línea y operaciones de restauración • Mejor recuperación de las bases de datos SQL Server • Usando operaciones de fragmentación y restauración
  • 38. Próximos pasos 1. Información SQL Server 2005: http://www.microsoft.com/sql/2005/default.asp 2. Guías de Administración para actualizar a SQL Server 2005: http://www.microsoft.com/learning/syllabi/ en-us/2733afinal.mspx 2. SQL Server 2005 Webcasts en MSDN: http://msdn.microsoft.com/sql /2005/2005Webcasts/default.aspx
  • 39. Preguntas… • Visita el foro de TechNet en http://groups.msn.com/technetmexico-online

Notas del editor

  1. Hola y bienvenido a la octava sesión de los WebCast de Microsoft Technet dedicados hablar de SQL Server 2005 Mi nombre es Juan Ramón Luna Para ayudar a los administradores de base de datos y profesionales IT ha ser mas productivos y familiarizarse con las nuevas características de SQL Server 2005, hemos diseñado una serie de 10 WebCast.
  2. Esta es la octava parte, y describe las mejoras de SQL Server 2005 para realizar operaciones de respaldo y restauración. Estas mejoras apuntan a tener un periodo mínimo en el que la base de datos no este disponible por hacer operaciones de restauración y respaldo. En particular, observaremos como ejecutar operaciones de restauración y fragmentación. A su vez nos apoyaremos de algunas demos.
  3. Esto es lo que cubriremos en la sesión En este Webcast observaremos las nuevas innovaciones disponibles en SQL Server 2005 que nos ayudan a minimizar el tiempo muerto y maximizar la disponibilidad de la base de datos mientras se recupera después de una falla o de alguna operación como pueden ser backups y restauraciones de la base de datos. Tambien Miraremos las nuevas características de SQL Server 2005 que ahora soporta operaciones de restauración y recuperación mucho mas rápida sobre la base de datos. Estas características mejoran la disponibilidad de las bases de datos comparada con versiones anteriores de SQL Server. A su vez examinaremos la Administración de fragmentación en SQL Server 2005, demostraremos como mejora el desempeño de la base de datos y reducimos al tiempo muerto planeado. Para conseguir el mayor provecho de esta sesión necesita tener el siguiente experiencia y conocimiento.
  4. Experiencia manejando servidores Windows 2003. Tambien Asumiremos que es esta familiarizado con el manejo y mantenimiento de SQL Server 2000. Y Finalmente, debe de tener experiencia administrando bases de datos. Veamos la agenda que seguiremos a lo largo de este WebCast.
  5. Esta es la agenda para esta sesión. Primero, le daremos un repaso a los temas discutidos en los anteriores WebCast. Después, le echaremos un vistazo a las operaciones de restauración en línea de SQL Server 2005 que nos ayuda a mejorar el rendimiento en las bases de datos. Y Finalmente, examinaremos como minimizar el tiempo muerto planeado para la administración de la base de datos usando el administrador de las operaciones de fragmentación. Ahora empezamos a repasar la ultima sesión.
  6. SQL Server 2005 incluye numerosas mejoras relacionadas con los índices. Hay que recordar que la nueva versioon de SQL Server trae consigo nuevas sentencias Transact Las nuevas sentencias ALTER INDEX habilita que se pueda modificar los índices sin tener que eliminarlos o volverlos a crear. También proporciona algo de la funcionalidad que estaba solamente disponible en los comandos de DBCC en versiones anteriores. SQL Server 2005 soporta operaciones de indexación en línea, permitiendo a los usuarios continuar usando los índices mientras estos estan siendo alterados. Adicionalmente, las operaciones de índices pueden aprovecharse con múltiples procesadores para clasificar y explorar las páginas de índice en paralelo. Cuando tu creas o modificas una índice, puedes especificar si quieres permitir bloquear las paginas y bloquear las columnas cuando el índice es usando, brindando un control mas granular en el bloqueo. A su vez se puede agregar las comunas que no son llaves a los índices en las paginas, lo que representaría mayores beneficios sin coste de desempeño. SQL Server 2005 provee de nuevas herramientas para el monitoreo y manejo de la fragmentación de índices
  7. Como estamos viendo en pantalla Podemos consultar las paginas y la fragmentación a través de SQL Server Management Studio, o de consultas través del comando sys.dm_db_index_physical_stats en el monitor de fragmentación. Usamos los comandos ALTER INDEX para fragmentar los índices. Se puede monitorear la fragmentación de índices con SQL Server Management Studio en las propiedades de las tablas, haciendo clic en las opciones de fragmentación. Mas adelante en las demos tendremos la oportunidad ver estas funciones. Se puede también utilizar la página de las características para iniciar una operación de reorganización para reducir la fragmentación en las páginas a nivel de la hoja. SQL Server 2005 incluye la función de administración sys.dm_db_index_physical_stats, la cuál se puede utilizar para recuperar la información sobre los índices en la base de datos. Se puede usar las cláusulas REORGANIZE o REBULID en la declaración ALTER INDEX para des–fragmentar los índices. Si la fragmentación es menor del 30%, generalmente se debe utilizarla cláusula REORGANIZE para el des-fragmentado y compactar las páginas del índice. Si la fragmentación es mayor al 30%, se debe reconstruir el índice especificado con la cláusula REBUILD en la declaración ALTER INDEX. La cláusula REBUILD en la declaración ALTER INDEX remplaza el comando DBCC DBREINDEX en versiones anteriores de SQL Server. SQL Server 2005 introduce la herramienta database Tuning Advisro que nos ayuda a optimizar las estructuras de la base de datos.
  8. Como les comento Las herramientas Tuning Advisor de la base de datos nos ayuda a optimizar la base de datos para una cierta carga de trabajo. Nostros la podemos adapatar a la craga de datos especifica en nuestras empresas y hacer una planeacion de cómo crecera El Tuning Advisor de la base de datos y los DTA son dos nuevas herramientas que han evolucionado de los ya existentes Wizards de SQL Server 2000 Podemos usar DTA para analizar la carga de trabajo de las base de datos y nos ayuda a generar recomendaciones para crear y eliminar índices, vistas indexadas y particiones además que es una herramienta que nos ayuda a optimizar el desempeño de la base de datos. Ahora vamos a unas preguntas sobre este repaso.
  9. ¿Cual es la sentencia que puedes usar para fragmentar un índice? La respuesta correcta es la numero 3 – ALTER INDEX con opción de REBUILD Vamos a la siguiente pregunta.
  10. ¿Cual es la vista donde puedes buscar los índices de la fragmentación? sys.dm_db_index_physical_stats. Ahora vamos a ver como ejecutar las operaciones de restauración en línea.
  11. SQL Server 2005 permite restaurar los archivos que abarque una base de datos sin la necesidad de sacar fuera de línea la base de datos. Veamos como soportar con SQL Server 2005 operaciones de restauración en línea.
  12. Ahora vamos a describir el concepto de restauración en línea. Cuando realizamos las operaciones de restauración en SQL Server 2000 las base de datos no esta disponible hasta que el proceso de restauración ha sido completada. Si la base de datos es grande, el proceso de restauración nos puede llevar mucho tiempo. Y además si solo una parte de la base de datos se encuentra dañada, nos tenemos que esperar a que el proceso de restauración se lleve a cabo y no podemos utilizar las partes de la base de datos que no se encuentran dañadas. SQL Server 2005 en su versión Enterprice y Developers introduce el concepto de restauración en línea. Por default una base de datos solo tiene un filegroup pero nosotros podemos definir que tenga mas de uno. Mientras el filegroup primario de nuestra base de datos este en línea, la base de datos permanece en línea mientras restauramos loas archivos o las paginas individualmente. Esto nos puede ayudar a mejor los tiempo de respuesta de cada tabla, de echo podemos estar restaurando a nivel registro, pagina, tabla o filegroup. Ahora puedes hacer operaciones de restauración y respaldo en línea, sin tener que dejar sin operaciones nuestra base de datos. SQL Server 2005 permite restaurar por pagina, por archivos y todo un filegroupos en línea. Durante la recuperación en línea de una pagina el resto esta disponible y se pude tener acceso al resto mientras se recupera por completo. Las operaciones en línea de restauración se aseguran de que la restauración de páginas o de archivos dañados sean aislados y así se reduzca al mínimo el impacto en la base de datos Vamos a ver que pasa cuando SQL Server 2005 encuentra una pagina dañada.
  13. SQL Server 2005 descubre las páginas dañadas automáticamente cuando intenta leer los datos, normalmente como el resultado de un usuario o aplicación que realizan en una consulta a nuestro SQL. Un daño típico descubierto incluye una página rota o una página con un error en el checksum, una página con los datos del título erroneos como el id de la página, o datos que se truncan inesperadamente. Cuando se encuentra una página dañada, el SQL Server hara un roll back en la transacción actualmente ejecutandose e informará del error, pero la propia base de datos permitirá a los usuarios seguir en línea. Sin embargo, si el SQL Server descubre un error en la página mientras hace el roll back de una transacción, la base de datos se desconectara y se recuperará en automático. Cuando la base de datos trae atrasado en línea, el Servidor de SQL bloquea las páginas (incluso las dañadas) como la parte del proceso de la recuperación, y hace un rollback de las transacciones que se puedan estar ejecutando. Cuando o se puedan hacer un rollback de las transacciones estarán en el modo DEFERRED, y no lega el rollback, o deja bloqueado, hasta que el error se corrija. El Servidor de SQL graba todo los accesos a las páginas dañadas en el log, y podemos obtener mas información con suspect_page_table en el msdb. Usando esta información, se puede identificar las páginas dañadas, restaurarlas, y recuperar los datos mientras la base de datos esta en línea. Durante la recuperación sólo el archivo que contiene la página dañada no esta disponible; todos los otros archivos en el filegroup están disponibles a menos que el archivo sea parte del filegroup primario, en que caso que la base de datos se tomará desconectada. Identificando y restaurando un daño en una pagina con un proceso directo.
  14. Para restaurar una pagina primero, se debe de identificar el ID de la pagina que se quiere restaurar. Hay varias fuentes que se puede utilizar para obtener esta información, dependiendo del tipo de error. Para errores de lectura y escritura, paginas dañadas o si el chechsum de las paginas no corresponden con la base de datos en la pagina, la información sobre las páginas sospechadas se registra en los suspect_pages en la base de datos msdb. Sin embargo, hay un límite al tamaño de esta tabla; puede llevar a cabo un máximo de 1000 filas. Esta tabla actúa como un registro de páginas dañadas, y es la responsabilidad del administrador de la base de datos purgar esta tabla. Si esta tabla es llena, los nuevos datos no serán agregados. Otra fuente, es el registro de errores del servidor del SQL, que registrará e y identificación de cualquier página dañada. Al igual la información puede ser capturada usando el ErrorLog en los eventos capturados por SQL Profiler. Otras fuentes que se puede utilizar para recopilar la información referente a las páginas dañadas incluyen los comandos de DBCC, tales como DBCC Checktable, y el abastecedor del servidor WMI del SQL. La página dañada se divulga como un número de archivo y página dentro del archivo. se puede determinarse qué archivo corresponde a un número de archivo dado preguntando la sistema de sys.database_files en la base de datos que contiene la página dañada.
  15. El servidor de Microsoft SQL requiere que los archivos estén recuperados a un estado constante con el resto de la base de datos. No es posible parar el proceso de recuperación de archivos o de páginas individuales antes de que este acabe. Por esta razón, el primer paso es siempre hacer un respaldo del log de transacciones activo antes de restaurar una página. Utilice el comando BACKUP LOG con la opción de NO_TRUNCATE para generar este respaldo.
  16. El próximo paso seria restaurar la pagina dañada del backup. Tu puedes restaura la pagina usando el mas reciente respaldo completo o diferencial que contenga la pagina que este dañada. Use el comando RESTORE DATABASE con la cláusula PAGE para especificar el ID de la pagina o paginas que queremos restaurar. Se puede restaurar arriba de 1000 paginas individuales usando este comando. Habria que agregar la cláusula NONRECOVERY para permitir que futuros respaldos sean aplicados. Observe que se puede realizar solamente restauraciones en línea para las bases de datos que implementen modelos de recuperación bulk-logged registrados de la recuperación en ejecución. Las bases de datos que usan la recuperación simple se deben restaurar fuera de línea. Recordemos que solo existe la opciones de Simple, Full y bulk-logged a la hora de hacer respaldos.
  17. Después, se debe de aplicar cualquier respaldo del log de transacciones que se haya echo en forma completo o diferencial. Ahora se puede empezar a traer la pagina actualizada con la cláusula RECOVERY.
  18. Y por ultimo, se debe aplicar cualquier transacción excepcional en el respaldo del log de transacciones activo para restaurar los datos. La página dañada será accesible ahora.
  19. Ya vimos como restaurar uina pagina pero porque es importante conocer como restaurar unarchivo Aunque se puede restaurar hasta 1000 páginas individualmente usando el comando RESTORE DATABASE, si se tiene más de cinco páginas dañadas en el mismo archivo, se debe considerar el restaurar del archivo entero. Así como la restauración de una pagina en línea, la primera acción antes de restaurar un archivo es hacer el respaldo de la parte activa del loga de transacciones.
  20. Después, restaurar el archivo dañado del mas reciente respaldo del mismo. Habría que usar el comando RESTORE DATABSE con la cláusula FILE para especificar el nombre del archivo que se quiere recuperar.
  21. Despues de recuperar los archivos, se debe restaurar el respaldo del log de transacciones que fueron creadas, puesto que el respaldo del archivo fueron creadas para traer la base de datos a un estado constante. El respaldo del log de transacciones se puede hacer un Commit rápidamente, porque solamente se aplican los cambios de los archivos restaurados. Hay que especificar la cláusula de NORECOVERY al igual que en el ejmplo anterior.
  22. Y Finalmente, restaure el respaldo del log de transacciones actuales creado en el paso 1 y termine la recuperación de la base de datos.
  23. El mecanismo del restauración de las páginas es útil si se tiene un número pequeño de páginas que fallan, y se necesita mantener disponibilidad máxima mientras que restaura datos. Hay que recordar que las paginas que son afectadas, no estan disponibles. Sin embargo, se debe considerar porqué las páginas están siendo dañadas. Si se tiene una gran cantidad de páginas dañadas podría indicar que un dispositivo esta fallando. En este caso, se debe considerar realizar la restauración del archivo y volver a poner el archivo en otro dispositivo. La desventaja primaria de la operación de restauración del archivo es que el filegroup entero está tomado fuera de línea y es por lo tanto inaccesible hasta que la recuperación es completada.
  24. Para acabar con esta sesión observaremos cómo es que servidor 2005 del SQL mejora la velocidad cuando se recuperan las bases de datos.
  25. Cuando SQL Server reinicia una base de datos, realiza un paso de la recuperación sobre la base de datos usando la información registrada en los logs de transacciones. Para asegurar consistencia, al recuperar una base de datos, el servidor del SQL hará de nuevo las transacciones que habían iniciado y registrado en el log de transacciones pero aun en este paso todavía no se han escrito a los archivos en la base de datos. Cuando la fase del redo está completada, SQL Server examinará el log de la transacción, entonces para las transacciones que no se habían completado pero que habían causado causado cambios y habian escrito en los archivos de la base de datos. SQL Server manda estas transacciones a rollback. Cuando las fases redo y rollback están completas, la base de datos está en un estado consistente. En SQL Server 2000, ambas fases REDO y ROLLBACK se tienen que completar y comprobar antes que la base de datos fuese accesible. Aunque los checkpointing pueden reducir el tiempo tomado para la recuperación, algunas aplicaciones que generan grandes transacciones pueden reducir los beneficios de puntos de control y pueden causar que en la fase de rollback tomen un tiempo considerable. En SQL Server 2005, la base de datos esta disponible en cuanto la fase de redo se haya completado. La fase del rollback puede continuar mientras la base de datos está en uso. Sin embargo, páginas que requieren la recuperación del rollback permanecerán bloqueadas hasta que la recuperación esté completa. Cualquier proceso que intenta acceder las páginas se obligará a esperar hasta que SQL Server lo desbloquea. Regresemos a ver la agenda.
  26. Ahora miraremos cómo se puede reducir la cantidad de tiempo muerto planeado, requerido al mantener la base de datos realizando el backup gradualmente y restaurando las operaciones.
  27. Gradualmente las operaciones con SQL Server 2005 se hicieron de una manera en que una base de datos puedan ser estructurados con filegroups. Nosotros ya hemos descrito anteriormente cómo una base de datos en SQL Server contitene uno o más filegroups, y cómo un filegroup simplemente es, un juego de archivos de la base de datos. En una base de datos de SQL Server siempre se tiene un filegroup primario que contiene los metadatos del sistema. Los otros filegroups son optativos, pero es la buena práctica para poner los datos definidos por usuario fuera de los datos del sistema, por la actuación y razones de disponibilidad. Frecuentemente se usan Filegroups al dividir los datos, como un mecanismo conveniente para manejar todos los archivos que corresponden a un juego de particiones lógicas. SQL Server usa el filegroups como su unidad de disponibilidad. Si uno o más archivos en un filegroup no son accesibles, entonces los filegroup enteros estarán desconectados. Sin embargo, otros filegroups en la base de datos estarán disponibles y pueden accederse por los usuarios y procesos. Con tal de que el filegroup primario para una base de datos sea en línea, la base de datos está disponible y puede accederse.
  28. Para el soporte de recuperación individual de filegroups, se puede hacer un backup de un solo filegroup con el comando BACKUP DATABASE, especificando la opción de FILEGROUP y el nombre del filegroup. Haciendo un backup de un filegroup entero, aseguramos que todos los archivos en el filegroup reflejen el mismo estado consistente; lo que nos puede facilitar las operaciones de recuperación. Los Filegroups pueden crearse como read-only o read-write. Un filegroup read-only contiene datos en los archivos bloqueados y no pueden ser cambiados. Este tipo de filegroup es útil para sostener los datos históricos, dejar rastros de las auditorias, las ventas pasadas, y así sucesivamente. Los backup de los Filegroup están disponibles con SQL Server 2000. Sin embargo, SQL Server 20005 extiende la funcionalidad dando soporte a los backup de las base de datos parciales especificandolo con la opción READ_WRITE_FILEGROUPS en el comando BACKUP DATABASE. Esta opción causa el filegroup primario, y todos filegroups lectura-escriturasean sean respaldados. Los filegroups de solo lectura no son incluido, y debe ser respaldados de forma individual. Asumiendo los datos que se encuentran en read-only no cambian, entonces sólo se necesita hacer un backup una sola vez. En una base de datos grande hay que tener cuidado al dividirla los filegroups read-only y read-write, los datos activos podrían tener sólo una proporción pequeña de la base de datos entera, mientras se hacen los backups parciales de una manera rápida al backup en una base de datos.
  29. Asumiéndo que se tenga un backup del filegroup, se puede restaurar un filegroup entero usando el comando RESTORE DATABASE, especificando la opción de FILEGROUP. Restaurando un filegroup, es una alternativa más simple a restaurar los archivos individuales cuando se han alterado varios archivos en el mismo filegroup. Restaurando un filegroup individual también es posible con SQL Server 2000, sin embargo al hacerlo para que la base de datos no esta disponible. Con SQL Server 2005, la base de datos está disponible a todos los usuarios mientras se restauren los beneficios de las operaciones. Recuerde que cuando se restaura un filegroup, se toman todos los archivos en el filegroup desconectado. Note que si se está restaurando un filegroup read-only, se no debe aplicar ningún backup de log de transacción.
  30. Gradualmente restaurar le permite recuperar una base de datos y traerla en línea rápidamente. Y no se tiene que recuperar la base de datos entero para hacerlo disponible, sólo el filegroup primario y cualquier otro filegroups que contienen los datos críticos para sus aplicaciones. Otros filegroups son marcados como en "la recuperación pendiente" el estado y puede restaurarse después. Para permitir restaurar la base de datos completa en estados y tiempos diferentes, gradualmente al restaurar se mantiene la información que asegura que la base de datos será consistent. Esta es una gran diferencia con versiones anteriores de SQL Server donde los filegroups que no estaban totalmente restaurados eran marcados como inaccesibles, y tenian que ser recreados.
  31. Se puede restaurar el filegroups restante usando el comando RESTORE DATABASE con una cláusula de FILEGROUPS, como podemos ver en el ejemplo. Recuerde que los filegroups de solo lectura no necesitan ser restaurados del log de la transacciones. Sin embargo, se puede restaurar sólo un filegroup de solo-lectura usando restauración particionada que fueron tomadas de un respaldo de solo lectura, ,y el filegroup es lógicamente consistente con el filegroup primario. Modelos de recuperas y restauración ha sido fragmentado son ahora disponibles en SQL Server
  32. A continuacion veremos una demo A continuación veremos unas preguntas de repaso
  33. la respuesta correcta es 2—False. Se puede realizar una restauracion en linea sin afectar la disponibilidad del resto del archivo, o cualquier otro filegroups. Sólo el ser de la página restaurado es inaccesible hasta que la backup se complete.
  34. la respuesta correcta es 3—msdb.dbo.suspect_page_table. Esta tabla contiene un registro de errores de la página para todas las bases de datos, aunque tiene un límite de 1000 filas.
  35. la respuesta correcta es 2—READ_WRITE_FILEGROUPS. Esta opción crea un apoyo parcial de la base de datos que comprende el filegroup primario y todos los filegroups que son lectura y escritura.Los filegroups que son solo de lectura no son incluidos. Veamos una pregunta mas.
  36. la respuesta correcta es 4—WITH PARCIAL. Por defecto, esta opción restaurará el filegroup primario y todos backups de los filegroups en solo lectura. También puede se puede limitar los filegroups restaurados ,usando la opción de FILEGROUP. Vamos al resumen de este Webcast
  37. Estos son los puntos importantes que debemos recordar de esta sesión. En esta sesión, examinamos algunos de las nuevas características implementadas en SQL Server 2005 que proveen de mas disponibilidad en la base de datos y operaciones de recuperación mas rápidas. En particular, podemos bloquear y restaurar individualmente las paginas y los archivos en las bases de datos sin la necesidad de dejar fuera de línea la base de datos. Finalmente, nosotros parecíamos a cómo se puede crear apoyos parciales de una base de datos, y los usa realizar gradualmente restauraciones de los funcionamientos, permitiéndole recuperar un backup de base de datos y devolverlo en línea más rápidamente que era posible con las versiones más tempranas de Servidor de SQL. Para obtener mas informacion de este producto y las tecnologias que hemos visto el dia de hoy, puede consultar los recursos que se encuentran disponibles en linea asi como accder al sitios de Microsoft Technet Mexico.
  38. Para mas información técnica sobre los productos de Microsoft visiten el sitio de TechNEt México http://groups.msd.com/technetmexico-online