410 likes | 611 Views
SQL Server 2005. Comunidad TechNet. Regístrate en: http://groups.msn.com/technetmexico-online. 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
E N D
Comunidad TechNet Regístrate en: http://groups.msn.com/technetmexico-online
SQL Server 2005 WebcastParte 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 • Experiencia manejando servidores Windows 2003 • Experiencia manejando y manteniendo SQL Server 2000. • Experiencia administrando bases de datos. Nivel 200
Agenda • Revisión • Operaciones de restauración en línea • Administración de la fragmentación.
RevisiónMejoras 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ónMejoras en los índices • Monitor usando SQL Server Management Studio o dinámicamente usando funciones de administración. • 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
RevisiónMejoras 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ónMejoras en la indexación ¿Cuál es la sentencia que puedes usar para fragmentar un índice? • ALTER INDEX con la opción REORGANIZE. • ALTER INDEX con la opción DEFRAGMENT. • ALTER INDEX con la opción REBUILD. • DBCC INDEXDEFRAG
RevisiónMejoras en la indexación ¿Cual es la vista donde puedes buscar los índices de la fragmentación? • sys.dm_db_index_operational_stats. • sys.dm_db_index_physical_stats. • sys.dm_db_index_usage_stats. • sys.indexes.
Agenda • Revisión • Operaciones de restauración en línea • Administración de la fragmentación
Operaciones de restauración en líneaDescripció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íneaSeguimiento 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íneaRestaurando una pagina • Obtener el ID de las paginas dañadas. SELECT * FROM msdb..suspect_page_table
Operaciones de restauración en líneaRestaurando una pagina • Obtener el ID de las paginas dañadas. • Hacer un respaldo de la parte activa del Log de transacciones BACKUP LOG AdventureWorks TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
Operaciones de restauración en líneaRestaurando una pagina • Obtener el ID de las paginas dañadas. • Hacer un respaldo de la parte activa del Log de transacciones • Restaurar las paginas dañadas del mas reciente respaldo RESTORE DATABASE AdventureWorks PAGE = '3:3241' FROM DISK = '...' WITH NORECOVERY;
Operaciones de restauración en líneaRestaurando una pagina • Obtener el ID de las paginas dañadas. • Hacer un respaldo de la parte activa del Log de transacciones • Restaurar las paginas dañadas del mas reciente respaldo • 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;
Operaciones de restauración en líneaRestaurando una pagina • Obtener el ID de las paginas dañadas. • Hacer un respaldo de la parte activa del Log de transacciones • Restaurar las paginas dañadas del mas reciente respaldo • Aplicar el respaldo del log y recuperar la base de datos • Bring the database up to date using the active log backup RESTORE LOG AdventureWorks FROM DISK = 'Active_Log.bak' WITH RECOVERY;
Operaciones de restauración en líneaRestaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: • Respalda el log de transacciones activo BACKUP LOG AdventureWorks TO DISK = 'Active_Log.bak' WITH NO_TRUNCATE;
Operaciones de restauración en líneaRestaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: • Respalda el log de transacciones activo • Restaura el archivo dañado RESTORE DATABASE AdventureWorks FILE = 'Logical_Damaged_Filename' FROM DISK = '...' WITH NORECOVERY
Operaciones de restauración en líneaRestaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: • Respalda el log de transacciones activo • Restaura el archivo dañado • Restaura los logs de transacciones RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY; RESTORE LOG AdventureWorks FROM DISK = '...' WITH NORECOVERY;
Operaciones de restauración en líneaRestaurando una archivo • Si mas de cinco paginas son dañadas • Procedimiento: • Respalda el log de transacciones activo • Restaura el archivo dañado • Restaura los logs de transacciones • Restaura el log de transacciones activo y recupera la base de datos 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
Demostración • Restaurando una pagina en línea • Corrompiendo los datos de un archivo • Accesando a una pagina dañada • Identificar una pagina dañada • Restaurar una pagina dañada
Operaciones de restauración en líneaRecuperació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 hasta que termine.
Agenda • Revisión • Operaciones de restauración en línea • Administración de la fragmentación.
Administración de la fragmentaciónFilegroups y disponibilidad Database Primer filegroup en linea, base de datos disponible • 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 Primary Filegroup Arcgivos no disponibles, filegroup fuera de linea Filegroup A Filegroup B Todos loa archivos disponibles, filegroup en linea
Administración de la fragmentaciónFilegroups y disponibilidad Database • 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 Primary Filegroup BACKUP DATABASE AdventureWorks FILEGROUP = 'Filegroup B' TO DISK = 'Filegroup B.bak'; Filegroup A (read-write) Partial.bak Filegroup B (read-only) Filegroup B.bak BACKUP DATABASE AdventureWorks READ_WRITE_FILEGROUPS TO DISK = 'Partial.bak';
Administración de la fragmentaciónFilegroups 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;
Administración de la fragmentaciónFilegroups y disponibilidad Database • Una restauracion de la base de datos particionada nos proporciona una recuperacion y restauracion mas rapida. Primary Filegroup Filegroup A (read-write) Partial.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; Filegroup B (read-only)
Administración de la fragmentaciónFilegroups y disponibilidad Database 2. Restaurar otros filegroups • Los filegroups con propiedad Read-only no requiren respaldo, pero debe ser constante con el filegroup primario Primary Filegroup Filegroup A (read-write) Filegroup B (read-only) RESTORE DATABASE AdventureWorks FILEGROUP = 'Filegroup B' FROM DISK = 'Filegroup B.bak' WITH RECOVERY; Filegroup B.bak
Demostración • Ejecutar una restauración por partes • Creando un respaldo parcial • Restaurando el filegroup primario en lectura y escritura • Restaurando filegroup de solo lectura
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. • Verdadero • Falso
Repaso ¿En que tabla se pueden encontrar las paginas que contienen errores? • master.dbo.suspect_page_table • master.dbo.page_error_log • msdb.dbo.suspect_page_table • 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? • PARTIAL • READ_WRITE_FILEGROUPS • SELECTED_FILEGROUPS • 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? • WITH PRIMARY • WITH READ_WRITE_FILEGROUPS • WITH PIECEMEAL • 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 • Información SQL Server 2005: http://www.microsoft.com/sql/2005/default.asp • 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 enhttp://groups.msn.com/technetmexico-online