SQL Server 2012 para No DBAs - Aspectos esenciales de SQL Server, parte 1

  • Published on
    13-Jun-2015

  • View
    608

  • Download
    5

Transcript

  • 1. Guillermo Taylor F. Consultor Senior TI & Especialista SQL Server guillermotaylor@hotmail.com http://mastergt68.wordpress.com

2. Archivos, grupos de archivos y discos. Respaldos & Estrategia de respaldos. Modelo de recuperacin. Mantenimiento de base de datos. 3. Los discos almacenan archivos Los archivos almacenan datos Los grupos de archivos estn compuestos por archivos 4. DatabaseData File .MDF (1) .NDF (0-n)Latin1_General_CI_AS_KS_WSLog File .LDF (1-n) 5. Bases de datos de sistema: Master Configuracin de SQL Server MSDB Automatizacin de SQL Server TEMPDB rea temporal Model Plantilla para nuevas BDBases de datos de usuario. Otras de tipo no-de-sistema 6. Archivos de datos de Tempdb = Nmero de Ncleos de Procesador Configurar el tamao de la base de datos Tempdb Al menos 10% del tamao total de las bases de datos, O El tamao de la tabla ms grande; cualquiera que sea el mayor nmeroParmetros de configuracin de Tempdb Incrementar el tamao inicial Incrementar el parmetro de Autogrowth (Usar MB en lugar de %) Usar el Simple Recovery Model Ubicarla fsicamente en un sitio diferente a donde estn las bases de datos de contenido 7. 5 unidades de almacenamiento Bases de datos del sistema Archivos MDF/NDF de bases de datos de usuario Archivos LDF de bases de datos de usuario TEMPDB BACKUPS Nota mental: Recordar sacarlos del servidor y probarlosLDF: La ms rpida posible TEMPDB: Al menos, ms rpida que la de MDF MDF: Que ofrezca redundancia Ambientes de tipo Produccin o Pruebas tipo QA 8. Estructura lgica para agrupar objetos en una base de datos. Todas las bases de datos tienen un grupo de archivo: el primario. ste contiene el archivo .MDF y .NDFsEn el grupo de archivo secundario podemos tener datos y objetos SQL Server. Estos contienen archivos .NDF unicamentePermite manejar los archivos contenidos en el grupo como uno solo. Ayuda en desempeo y en recuperacin. 9. Base de datos Filegroup 1 (PRIMARIO)Archivo AArchivo B Tabla 1 Tabla 2 Tabla 3Filegroup 2 (SECUNDARIO) Archivo C Tabla 4Archivo D Tabla 5 Tabla 6 10. Mecanismo de proteccin de datos. Tres diferentes tipos de respaldos Respaldo completo. Respaldo diferencial. Respaldo de log de transaccin.Opciones avanzadas de respaldo. Respaldos de grupos de archivos.Guardar respaldos en otros servidores. Guardar respaldo en Windows Azure. 11. Genera una copia completa de la base de datos. El respaldo es una representacin completa del estado de la base de datos de ese momento. Debera hacerse diario o semanal. 12. Genera copia diferencial de la base de datos. Desde el ltimo, respaldo lo que sea diferente en la base de datos. Debera hacerse diario y responder a una estrategia de recuperacin definida. 13. SIEMPRE hay que hacer respaldo! Primer nivel de estrategia de recuperacin ante situacin de desastre. Copia local para recuperacin rpida Mismo cuarto, mismo piso, mismo edificio, mismo ciudad Ustedes definenCopia remota para temas tipo desastre Mismo pas, mismo departamentoEs importante tener definida una estrategia! 14. Relacionado con respaldo y restauracin. Diseados para controlar el mantenimiento del log de transacciones de la base de datos. En esencia, es una propiedad de base de datos que controla como se registran las transacciones. Indica si el log de transaccin requiere y permite respaldo. Indica que tipo de operaciones de restauracin estn disponibles. 15. Full Menor exposicin a prdida de datos. Simple Exposicin a prdida de datos desde el ltimo respaldo generado. Bulk-Logged Exposicin a prdida de datos si el archivo de log se ha daado. Detalles y explicacin en http://msdn.microsoft.com/enus/library/ms189275.aspx 16. Base de datos de contenido en Disco DuroAgregar Contenid oDato Data s.LDFCheckpoint.MDFDato Data sFull Recovery Model (Recomendado) 17. Base de datos de contenido en Disco DuroDatos Agregar Contenido.LDFCheckpointDatosSimple Recovery Model.MDF 18. Actividades para que la base de datos est y responda como nueva. Regeneracin y desfragmentacin de ndices. Actualizacin de estadsticas. 19. SundayMonday.ldf.mdfFull Backup (2).mdf.ldfDifferentialTuesday.mdfWednesday.ldfDifferential.mdf.ldfDifferential (3)Backup Log DB_Name to D:SQLBackupsWeekly_T_Log.Bak with INITBackup Log DB_Name to D:SQLBackupsTempBackup.Bak .mdf.ldfLose .mdf file of database on Thursday at 4:00pm(1)(4) 20. SQL Server Index Design Guide: http://technet.microsoft.com/en-us/library/jj835095.aspx 21. El motor mantiene automticamente los ndices cada vez que ocurre INS, UPD o DEL. En el tiempo, esto puede ocasionar que la informacin en el ndice se fragmente. La fragmentacin se da cuando en las pginas de los ndices el ordenamiento lgico basado en el valor de la clave, no concuerda con el ordenamiento fsico dentro del archivo de datos. Puede causar degradacin del desempeo del query; respuestas lentas. 22. Reorganizando el ndice Regenerando el ndice Primero, detectar fragmentacin Si el valor de avg_fragmentation_in_percent de la DMV sys.dm_db_index_physical_stats es: > 5% and < = 30% entonces ALTER INDEX REORGANIZE > 30% entonces ALTER INDEX REBUILD WITH (ONLINE = ON)* 23. REGENERACINPuede ser online u offline, dependiendo de la versin, edicin y tipos de datos de las columnas. Crea el nuevo ndice y luego elimina el ndice viejo. Actualiza las estadsticas en el ndice.DESFRAGMENTACINSiempre es online. Mueve los datos en las pginas en un esquema registro por registro. nicamente mueve aquellos registros que requieren ser movidos. 24. Metadatos dinmicos. Contienen informacin estadstica sobre la distribucin de valores. En uno o ms columnas de una tabla. En una o ms columnas de una vista indexada. Describen valores de llaves en ndices. Se mantienen para columnas de ndices. Se usan por SQL Server para decidir los ndices ms apropiados a usar cuando se ejecutan los queries. 25. El query optimizer usa las estadsticas para crear planes de ejecucin de consultas que mejoran el desempeo de las mismas. Para la mayora de las consultas el query optimizer genera las estadsticas para un plan de calidad para ejecucin consultas. En algunos casos, muy pocos, es necesario crear estadsticas adicionales o modificar el diseo de la consulta para mejores resultados. 26. Por defecto, SQL Server mantiene estadsticas para las columnas de uno o de los ndices de una tabla. Se pueden mantener estadsticas en columnas que no hacen parte de un ndice, si se desea. Lo anterior genera un impacto sobre el lmite de los ndices non-clustered que se pueden tener en una tabla. Dicho lmite es de 249. 27. Son cmo SQL Server define cmo accede a los datos que almacena. Se usan para crear un plan de ejecucin. Contienen un muestreo de los valores dentro de una tabla o de un ndice. De hecho, pueden contener hasta 200 muestras de los valores dentro de una table.Rastrean el nmero de valores entre los valores de los cuales se tienen muestras. 28. Nmero de registros en el conjunto resultado de la consulta. El optimizador usa las estadsticas para estimar la cardinalidad de la consulta. Los estimados de la cardinalidad habilitan al optimizador a crear un plan de alta calidad para el plan. Ejemplo: Uso de Index Seek en lugar de Index Scan para que una consulta tenga mejor desempeo.Ms adelante se revisa este concepto con otros aspectos 29. Tener en cuenta conceptos y esquemas de organizacin de archivos y grupos de archivos para tener la BD bien organizada. Es importante respaldar y probar el respaldo, pero es ms importante definir una estrategia de respaldo. Importancia del modelo de recuperacin en el mantenimiento de base de datos. Mantenimiento para desempeo de queries y gestin de la base de datos. 30. Guillermo Taylor F. Consultor Senior TI & Especialista SQL Server guillermotaylor@hotmail.com http://mastergt68.wordpress.com