Sei sulla pagina 1di 55

Manual del DBA MS SQL Server El administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales de una

base de datos. En general esto incluye lo siguiente: Recuperabilidad, Crear y probar Respaldos Integridad, Verificar o ayudar a la verificacin en la integridad de datos Seguridad, Definir o implementar controles de acceso a los datos Disponibilidad, Asegurarse del mayor tiempo de encendido Desempeo, Asegurarse del mximo desempeo incluso con las limitaciones Desarrollo y soporte a pruebas, Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos. Ing. Marisol Nez Vsquez 17/08/2012 Contenido El Administrador de Bases de Datos (DBA) 1 Administracin de Servicios de ITIL 3 Gestin de Servicios de TI 4 ITIL - Mejores Prcticas 4 Beneficios de ITIL 4 Caractersticas de ITIL 5 ITIL Versin 2.0 5 Procesos de Gestin de Servicios 6 EL Administrador de Base de Datos (DBA) desde la perspectiva ITIL 6 Requisitos e instalacin de DBMS. 7 Requisitos de hardware y software para instalar SQL Server 2008 R2 (http://msdn.microsoft.com/eses/library/ms143506(v=sql.105).aspx) 7 Reporting Services 13 WOW64 14 Otras notas del sistema operativo 14 Buenas prcticas del desarrollo e implementacin de Bases de Datos. 14 Introduccin 14 Convenciones para tablas o vistas 15 Casos especiales de Vistas 15 Convenciones para nombrar columnas 15 Procedimientos Almacenados 17 Bases de Datos 17 Administracin Operativa/diaria de los servidores: Instalacin/desinstalacin de parches, fixes y/o services packs del motor de DBMS, manejo de cambios e incidentes. 17 Instalacin/Desinstalacin de Services Packs 17 Instalacin 17 Desinstalacin 18 Manejo de Cambios e Incidentes 20 (http://translate.google.co.cr/translate?hl=es&langpair=en%7Ces&u=http://technet.microsoft.com/enus/library/cc966511.aspx) 20 Gestin de Problemas 26 Los problemas que aparecen como los problemas de base de datos 29 Alta disponibilidad de los datos. 32 Causas de la prdida de tiempo de inactividad y de datos 32 El tiempo de inactividad planificado (Planned Downtime) 33 El tiempo de inactividad no planificado y la prdida de datos 33 Planificacin de una estrategia de alta disponibilidad 34 Requisitos 34 Limitaciones 35 Las limitaciones no tcnicos incluyen: 35

Tecnologas SQL Server 2008 de alta disponibilidad 37 Registro y recuperacin 37 Copia de seguridad, restauracin y Tecnologas Relacionadas 39 La replicacin transaccional 57 Tareas de revisin y documentacin del estado actual de los servidores. HEALTH CHECKS Y RUNBOOK 75 Herramientas que se pueden utilizar 75 Qu se debe Chequear 75 Aseguramiento de los datos: Tareas de respaldo y recuperacin de informacin. 75 tica del DBA 76 Responsabilidades con la Organizacin 76 Responsabilidades a uno mismo 77 Responsabilidades con los compaeros de trabajo 77 Principios ticos para todos los DBAs 77 Recomendaciones para manejo de problemas de rendimiento 77 Consideraciones 77 Optimizar las consultas ms costosas. 80 Recomendaciones a nivel de esquema 80 Consultas formadas correctamente 80 Anlizar los planes de ejecucin 80 Anlisis de un plan de ejecucin 81 Indices 83 Crear ndices de cobertura para optimizar las consultas 84 Creacin de vistas indizadas. 84 Recomendaciones para recuperacin de desastres 85 Situacin de recuperacin de desastres 85 Referencias 86 La creacin de la Base de datos. 86 La creacin de los objetos de la base de datos 88 Encontrar las consultas que consumen ms recursos 89 monitorear SQL Server 90

El Administrador de Bases de Datos (DBA) Hoy da existe un amplio consenso entre los gerentes de empresas y gerentes de las reas de TI sobre la importancia que tiene la informacin y por ende, la importancia que tiene toda la infraestructura que permite mantener segura y disponible esa informacin para los diferentes agentes de la organizacin que la requieran. Esta informacin se encuentra en su mayor parte en plataformas de bases de datos que prestan variados servicios tales como seguridad, alta disponibilidad, manejo de concurrencia de usuarios y otras importantes prestaciones. A continuacin se presentan algunas ideas acerca de las viejas y nuevas responsabilidades del Administrador de Bases de Datos, que sirven como gua a los profesionales que se estn introduciendo en el mundo de la administracin de bases de datos y a gerentes de TI que debern considerar las habilidades y competencias que deben poseer los profesionales que se desempean en la administracin de bases de datos. EL entorno tecnolgico actual que rodea a un profesional de las bases de datos es sofisticado y complejo. Las tecnologas de consolidacin de servidores hacen necesario conocimientos de arquitectura y funcionamiento de software de virtualizacin. Las tecnologas de almacenamiento han evolucionado notablemente, siendo necesario que el DBA conozca los principios bsicos de las diferentes configuraciones de arreglos de discos, y su impacto en las distintas estructuras que forman una base de datos. Los conocimientos de networking son muy necesarios para el desempeo de sus funciones actuales. Frecuentemente el DBA debe interactuar con profesionales del rea de redes para definir caractersticas de VLANs, configuracin de NIC, switches, firewalls, routers, etc. Las bases de datos se encuentran ubicadas en sofisticadas arquitecturas de red que deben ser comprendidas para resolucin de problemas (troubleshooting) y optimizar el rendimiento y la seguridad. El conocimiento de sistemas operativos actuales es bsico. Sin conocimientos de sistemas operativos no se puede medir por ejemplo, cmo la base de datos est consumiendo los recursos y por lo tanto, se est ciego al momento de tener que investigar el origen de un problema de rendimiento. Un conocimiento de cmo funcionan los servidores de aplicaciones y particularmente cmo se conectan a la base de datos ayudar al DBA a entregar luz en relacin a problemas que pueden tener un origen en las configuraciones de las mquinas clientes, datasources, drivers XA, JDBC, ADO .NET, ODBC, etc. La configuracin de clusters activo/activo o activo/pasivo requiere de conocimientos bien definidos en las reas de storage, redes, software de clusters (Oracle RAC, Cluster File System, Clusters Windows y Linux, software de clusters de otros proveedores). A los DBAs que tienen estos ltimos conocimientos se les cataloga como DBA 2.0 y representan a los profesionales que reemplazarn al viejo DBA 1.0 dedicado solo a instalar, crear bases de datos, y realizar tareas de mantenimiento bsicas. Conocimientos y Responsabilidades del DBA 2.0 1. Conocer el negocio, la misin y objetivos para alinear sus responsabilidades en forma adecuada con estos. 2. Instalar el software de base de datos 3. Instalar parches o service pack para la base de datos 4. Instalar software de clusterizacin para ambientes de alta disponibilidad (new) 5. Configurar ambientes de clusters (new) 6. Configurar Servidores NTP para sincronizacin de relojes de nodos de un cluster (new) 7. Conocer de mtodos de configuracin de Alta Disponibilidad para redundancia a nivel de las NIC (bonding, failover) (new) 8. Configurar ambientes de contingencia para recuperacin ante desastres (DR). Probar failover y switchover (new) 9. Crear Bases de Datos 10. Crear y mantener usuarios 11. Administrar la distribucin compartida de recursos entre aplicaciones 12. Estructurar y disponer del almacenamiento para la base de datos a nivel fsico y nivel lgico. A nivel fsico especificar caractersticas de las LUNs del storage, implementar con ASM (Oracle) grupos de discos para cobijar los archivos de la base de datos, disear mecanismos de failover en el caso de replicacin de storage (new) 13. Controlar los objetos lgicos que se crean y actualizan en la base datos (tablas, indices, etc), llevar controles de cambio. 14. Definir y controlar el uso de estndares que faciliten la administracin, velen por la seguridad, mantencin y rendimiento de la BD 15. Revisar y dar Visto Bueno para pasar a produccin los nuevos diseos de base de datos que liberen los desarrolladores. 16. Llevar Bitcora de actividades realizadas en cada base de datos. 17. Documentar cada base de datos 18. Evaluar nuevos releases de software de la base de datos, recomendar el uso de nuevas caractersticas para la

comunidad de usuarios 19. Proveer soporte tcnico para los desarrolladores, apoyar en la resolucin de problemas 20. Verificar y controlar el estado y uso de reglas de integridad de la BD 21. Asistir con el anlisis de impacto de cualquier cambio que pueda proyectarse a la base de datos 22. Analizar rendimiento de la base de datos 23. Realizar afinamiento (tuning) de las bases de datos 24. Realizar afinamiento (tuning) de aplicaciones (anlisis de planes de ejecucin, optimizadores, SQL, PL/SQL, TSQL, etc), usando herramientas de tuning ms sofisticadas y que requieren de ms conocimientos (new) 25. Realizar afinamiento (tuning) de red 26. Actualizar en forma peridica las estadsticas de la BD para alimentar los modelos de optimizacin por COSTO. 27. Realizar reorganizaciones de la base de datos, para mejorar rendimiento y facilitar administracin 28. Implementar diferentes polticas de seguridad de la base de datos (perfiles, roles, privilegios, encriptacin selectiva, certificados, etc) 29. Activar auditorias especificas de actividades en la base de datos de acuerdo a requerimientos. 30. Administrar polticas de seguridad y auditora de firewall de bases de datos (ejemplo www.guardium.com, GreenSQL) (new) 31. Implementar una poltica de respaldo y recuperacin para la base de datos. 32. Realizar respaldos lgicos y fsicos 33. Probar en forma peridica la poltica de respaldo y recuperacin de la base de datos. 34. Implementar archiving de la informacin que ya no es necesaria para el cumplimiento de objetivos del negocio (new). 35. Levantar indicadores y mtricas para conocer el comportamiento de la base de datos en el tiempo (new). 36. Realizar Planificacin de la Capacidad para el recambio de infraestructura (CPU, RAM, STORAGE, NETWORKING) 37. Configurar servidores de aplicaciones para conectarse a la base de datos con mximo rendimiento y alta disponibilidad (new). Habilidades y competencias. 1) Buen conocimiento de Sistemas Operativos 2) Poseer conocimientos de Fundamentos de Bases de Datos * Modelamiento de Bases de Datos (E-R, Relacional) * Conocimientos de arquitectura de bases de datos (buffer pool, transaction log, algoritmos de administracin de memoria) * Propiedades ACID de las transacciones * Conocimiento de SQL y fundamentos de clculo y lgebra relacional * Conocimiento de la estructura y funcionamiento de los diferentes tipos de ndices * Conocimientos de los diferentes mtodos de accesos para resolucin de consultas * Conocimientos del funcionamiento del optimizador de consultas 3) Fundamentos de nuevas tecnologas incorporadas a las Bases de Datos * Conocimientos de Principios de Orientacin al Objeto * Conocimientos de XML * Encriptacin 4) Capacidad para controlar desempeo a nivel de la base de datos como a nivel del sistema operativo 5) Ser capaz de proveer una visin estratgica para el desarrollo de las bases de datos de la organizacin 6) Conocimiento profundo de los distintos escenarios de fallas y desastre y los mecanismos de respaldo y restauracin. 7) Buena habilidad para el manejo de herramientas y utilitarios de la base de datos 8) Buen conocimiento de administracin de la seguridad 9) Conocimiento de cmo la base de datos adquiere y administra los recursos. 10) Conocimientos de las aplicaciones que se ejecutan en la base de datos 11) Conocimiento del negocio en que est inserto. 12) Conocimientos de principios de afinamiento de Bases de Datos 13) Conocimiento de principios de Administracin de proyectos Habilidades blandas y otras habilidades

Un DBA que quiera tener xito en su organizacin debera tener varias de las siguientes habilidades y capacidades: 1) Profesional tico 2) Capacidad para trabajo en equipo. 3) Ordenado 4) Capacidad de investigar y aprender cosas nuevas. 5) Proactivo 6) Fuerte capacidad para comunicacin oral y escrita. 7) Liderazgo. 8) Poseer espritu de servicio. 9) Poseer juicio para evaluar situaciones complejas 10) Capacidad para identificar y evaluar riesgos 11) Capacidad para trabajar bajo presin 12) Capacidad para pedir ayuda 13) Capacidad para compartir conocimiento 14) Capacidad para decir NO en situaciones justificadas Se complementa este artculo con recursos que apoyan la labor del DBA y le ayudarn a realizar mejor sus labores. (Anexo 1 Recursos para el DBA). Administracin de Servicios de ITIL Las organizaciones son cada vez ms dependientes de la Tecnologa de Informacin para soportar y mejorar los procesos de negocio requeridos para cumplir las necesidades de los clientes y de la propia organizacin. En muchos casos, los servicios de TI conforman la base del modelo de negocio en su totalidad, en estos casos TI no brinda soporte al negocio, es el negocio. Ms all de la importancia de TI en la organizacin, la competitividad y las presiones econmicas se ven reflejadas en presiones para en lo posible disminuir el presupuesto de TI. Al mismo tiempo las expectativas por la calidad, innovacin y valor de TI continan incrementndose. Esto hace imperativo que las organizaciones de TI tomen un enfoque orientado al negocio y al servicio en lugar de un enfoque centrado en la tecnologa. Gestin de Servicios de TI Para lograr este cambio de enfoque las reas de TI, necesitan concentrarse en la calidad de los servicios que brindan, y asegurarse que los mismos estn alineados a los objetivos de la organizacin. Cuando los servicios de TI son crticos, cada una de las actividades que se realizan deben de estar ejecutadas con un orden determinado para asegurar que el grupo de TI proporciona valor y entrega los servicios de fo rma consistente. La Gestin de servicios es un una disciplina de gestin basada en procesos que pretende alinear los servicios de TI con las necesidades de la organizacin, adems brinda un orden determinado a las actividades de gestin. ITIL - Mejores Prcticas ITIL, por sus siglas en ingls (Information Technology Infrastructure Library) es una coleccin de documentos pblicos, que basados en procesos y en un marco de mejores prcticas de la industria, permite la Gestin de Servicios de TI con calidad y a un costo adecuado. ITIL tiene que ver con todos aquellos procesos que se requieren ejecutar dentro de las organizaciones para la administracin y operacin de la infraestructura de TI, de tal forma que se tenga una ptima provisin de servicios a los clientes bajo un esquema de costos congruentes con las estrategias del negocio. Desarrollada su 1er versin a finales de 1980, la Biblioteca de Infraestructura de Tecnologas de la Informacin (ITIL) se ha convertido en el estndar mundial de facto en la Gestin de Servicios Informticos. Uno de los conceptos esenciales de ITIL es que establece que para una adecuada Gestin de Servicios en las Tecnologas de Informacin es necesaria una mezcla sinrgica entre tres factores: Personas, Procesos y Tecnologa. Beneficios de ITIL Los siguientes son algunos de los beneficios que debe tener una adecuada Gestin del Servicio en las Tecnologas de Informacin: * Maximiza la calidad del servicio apoyando al negocio de forma expresa. Ofrece una visin clara de la capacidad del rea IT

* Aumenta la satisfaccin en el trabajo mediante una mayor comprensin de las expectativas y capacidades del servicio * Minimiza el ciclo de cambios y mejora los resultados de los procesos y proyectos IT * Facilita la toma de decisiones de acuerdo con indicadores de IT y de negocio Caractersticas de ITIL * Las siguientes son algunas de las caractersticas de ITIL * Es un framework de procesos de IT no propietario. * Es independiente de los proveedores. * Es independiente de la tecnologa. * Est basado en "Best Practices". * Provee: * Una terminologa estndar. * Las interdependencias entre los procesos. * Los lineamientos para la implementacin. * Los lineamientos para la definicin de roles y responsabilidades de los procesos * Las bases para comparar la situacin de la empresa frente a las mejores prcticas. ITIL Versin 2.0 La versin 2.0 de ITIL cuenta con varias publicaciones, las cuales se muestran en la siguiente figura; estas publicaciones permiten tener una relacin entre la tecnologa y el negocio. Cada una de estas publicaciones provee una gua de las mejores prcticas y el detalle de informacin de los procesos. Planeacin para la Implementacin de la Administracin de Servicio: Esta publicacin cubre los temas y actividades involucradas en planeacin, implementacin y mejora de los procesos de Administracin de Servicios dentro de una organizacin. ICT Administracin de Infraestructura: Abarca el tema de Tecnologa de Informacin y Administracin de la Infraestructura (ICTIM) y las relaciones con otra reas, como la Administracin de Servicios. Perspectiva del Negocio: Tiene como objetivo familiarizarse con la administracin del negocio con los componentes de Administracin de Servicios, Administracin de Aplicaciones y la Administracin de la Infraestructura, los cuales son necesarios para soportar los procesos de negocio. Administracin de Aplicaciones: Trata el tema de la administracin de las aplicaciones desde las necesidades del negocio hasta el ciclo de vida de la aplicacin Administracin de Seguridad: Detalla el proceso de planeacin y administracin de un definido nivel de seguridad en la informacin y servicios. Administracin o Gestin de Servicios de TI: La gestin de Servicios Informticos es abarcada por dos publicaciones: Entrega de Servicios y Soporte de Servicios. Entrega de Servicios: Cubre los procesos necesarios para la planeacin y entrega de la calidad de los servicios de TI. Estos procesos son: * Administracin de Niveles de Servicio * Administracin Financiera * Administracin de Capacidad * Administracin de la Continuidad de Servicios de TI * Administracin de la Disponibilidad Soporte de Servicios: Proporciona los detalles de la funcin de Mesa de Servicio y los procesos necesarios para el soporte y mantenimiento de los servicios de TI. Estos procesos son: * Administracin de Incidentes * Administracin de Problemas * Administracin de Configuraciones * Administracin de Cambios * Administracin de Releases Procesos de Gestin de Servicios La Gestin de Servicios de TI organiza las actividades necesarias para administrar lanentrega y soporte de servicios en

procesos. Un proceso es una serie de actividades que a partir de una entrada obtienen una salida. El flujo de la informacin dentro y fuera de cada rea de proceso indicar la calidad del proceso en particular. Existen puntos de monitoreo en el proceso para medir la calidad de los productos y provisin de los servicios. Los procesos pueden ser medidos por su efectividad y eficiencia, es decir, si el proceso alcanz su objetivo y si se hizo un ptimo uso de los recursos para lograr ese objetivo. Por lo que si el resultado de un proceso cumple con el estndar definido, entonces el proceso es efectivo, y si las actividades en el proceso estn cumpliendo con el mnimos requerido esfuerzo y costo, entonces el proceso es eficiente. EL Administrador de Base de Datos (DBA) desde la perspectiva ITIL Existen dos perspectivas que ITIL da a la Administracin de Base de Datos (DBA): 1. Como actividad comn a la Operacin del Servicio, descrito en la seccin 5.7 (Database Administration). Es una actividad muy vinculada a la Gestin de las Aplicaciones (de software). Como actividad se debe asegurar que se provea el desempeo ptimo, funcionalidad y seguridad de las bases de datos que se gestionan. ITIL describe algunas actividades en concreto tales como: * creacin y mantenimiento de estandares y polticas de las bases de datos, * diseo, creacin y pruebas de las bases de datos * manejo de la disponibilidad, capacidad, resiliencia, dimensionamiento, capacidad, etc de las bases * Provisin de soporte de 3er nivel para todos los incidentes relacionados a bases de datos La seccin 5.7 del Libro de Operacin del Servicio provee un detalle extenso de las actividades de administracin de base de datos. 2. Como un rea de especialidad dentro de la funcin de la Gestin Tcnica, descrito en la seccin 6.3.4 (Technical Management Organization). La funcin de la Gestin Tcnica son los Especialistas de Materias Tcnicas (SME's por sus siglas en ingls), y proveen conocimiento especialista agrupado fundamentalmente en dos grupos: arquitectos y diseadores que se involucran intensamente en el Diseo del Servicio (ej. DBA de desarrollo), y staff que se involucra en el mantenimiento y soporte (ej. DBA de produccin). Usualmente los DBA's se encargan de disear eventos y alarmas para las bases de datos en herramientas de monitoreo y control de eventos. Una pregunta comn es si constituye una mejor prctica que el DBA debe estar observando continuamente dichos eventos. ITIL propone la funcin de Control de Operaciones de TI como un "observador" de los eventos que se realicen a la base de datos. Es decir, se recomienda que los eventos sean diseados de tal forma que su observacin contnua no sea realizada primariamente por el rea especialista de DBA sino por el Control de Operaciones de TI. EL rea de DBA debe intervenir de forma excepcional. Para finalizar, la Gestin Tcnica juega un papel clave para proveer recurso tecnolgico especialista para identificar Problemas, soluciones posibles, tanto de forma proactiva como reactiva, interactuando con el Centro de Servicio al Usuario. La Administracin de Base de Datos, como todas las reas que componen la Gestin Tcnica deben tener claro los niveles de servicio que se espera de sus componentes para satisfacer las expectativas del negocio. Diversas herramientas de DBA actual permiten establecer estas monitorizaciones de forma jerrquica, partiendo de Servicios hasta bases de datos. Tngase presente que alternativas como clusters y mecanismos de high-availability incrementan la disponibilidad y resiliencia de las bases, brindando un nivel de servicio de disponibilidad ms alto, no obstante dichas inversiones en tecnologas de bases de datos de clusters requieren plenas justificaciones financieras. Requisitos e instalacin de DBMS. Requisitos de hardware y software para instalar SQL Server 2008 R2 (http://msdn.microsoft.com/eses/library/ms143506(v=sql.105).aspx) Las siguientes secciones presentan los requisitos mnimos de hardware y software para instalar y ejecutar SQL Server 2008 R2. Para obtener ms informacin acerca de los requisitos para Analysis Services en modo integrado de SharePoint, vea Requisitos de hardware y software (PowerPivot para SharePoint). En las ediciones de 32 o de 64 bits de SQL Server 2008 R2 se aplica lo siguiente: * SQL Server 2008 R2 Datacenter est disponible para su evaluacin durante un perodo de prueba de 180 das. Para obtener ms informacin, vea el sitio web SQL Server: How to Buy. * Microsoft recomienda ejecutar SQL Server 2008 R2 en equipos con el formato de archivo NTFS. Para las

actualizaciones a SQL Server 2008 R2, los sistemas de archivos FAT32 no se bloquearn. * La instalacin de SQL Server bloquear las instalaciones en unidades de disco de solo lectura o comprimidas. * Para obtener informacin acerca del uso de herramientas de SQL Server 2008 R2 para preparar una actualizacin a SQL Server 2008 R2, vea Usar el Asesor de actualizaciones para preparar las actualizaciones. * SQL Server no instala el kit de desarrollo de software (SDK) de .NET Framework 3.5. Sin embargo, el SDK contiene herramientas que son tiles cuando se usa .NET Framework para desarrollo de SQL Server. Puede descargar el SDK de .NET Framework desde el sitio web de .NET Framework. * Requisitos de reinicio de equipos durante la instalacin de SQL Server: la instalacin de .NET Framework requiere un reinicio del sistema operativo. Si la instalacin de Windows Installer tambin requiere un reinicio, el programa de instalacin esperar hasta que se hayan instalado los componentes de .NET Framework y Windows Installer antes de reiniciar. Ediciones de servidor de SQL Server 2008 R2 Trmino | Definicin | Datacenter (x86, x64 e IA64) | Integrado en SQL Server 2008 R2 Enterprise, SQL Server 2008 R2 Datacenter ofrece una plataforma de datos de alto rendimiento que proporciona los mayores niveles de escalabilidad para cargas de trabajo de aplicacin grandes, virtualizacin y consolidacin, y permite la administracin de la infraestructura de bases de datos de una organizacin, lo que sirve de ayuda a las organizaciones a escalar de forma rentable su entorno esencial. | Enterprise (x86, x64 e IA64) | SQL Server 2008 R2 Enterprise ofrece una completa plataforma de datos que proporciona seguridad integrada, disponibilidad y escalabilidad, junto con eficaces ofertas de Business Intelligence para posibilitar los mayores niveles de servicio con cargas de trabajo esenciales. | Standard (x86 y x64) | SQL Server 2008 R2 Standard ofrece una completa plataforma de administracin de datos y Business Intelligence para que los departamentos y las pequeas organizaciones ejecuten sus aplicaciones, y les ayuda a conseguir una eficaz administracin de bases de datos con los mnimos recursos de TI. SQL Server Standard para Small Business incluye todos los componentes tcnicos y capacidades de SQL Server Standard y su uso est autorizado para operar en un entorno de pequea empresa de 75 equipos como mximo. | Ediciones especializadas de SQL Server 2008 R2 Las ediciones especializadas de SQL Server estn diseadas para escenarios de clientes concretos. En la siguiente tabla se describen estas ediciones de SQL Server. Trmino | Definicin | SQL Server Developer (x86, x64 e IA64) | SQL Server Developer permite a los desarrolladores crear cualquier tipo de aplicacin basada en SQL Server. Incluye toda la funcionalidad del Centro de datos SQL Server, pero tiene licencias para usarse como sistema de prueba y desarrollo, no como un servidor de produccin. SQL Server Developer es una opcin ideal para las personas que crean y prueba aplicaciones. Puede actualizar SQL Server Developer para utilizarlo en produccin. | SQL Server Workgroup (x86 y x64) | SQL Server Workgroup es ideal para ejecutar bases de datos ubicadas en sucursales y proporciona una administracin de datos confiable y una plataforma de informes que incluye capacidades de sincronizacin y de administracin seguras y remotas. | SQL Server Web (x86, x64) | SQL Server Web es una opcin con un costo total de propiedad bajo para los hosts de web y los sitios web que proporciona capacidades de administracin y escalabilidad para propiedades web, tanto de pequea como de gran escala. | SQL Server Express (x86 y x64)SQL Server Express with Tools (x86 y x64)SQL Server Express con Advanced Services (x86 y x64) | La plataforma de bases de datos de SQL Server Express se basa en SQL Server. Es tambin la sustitucin de Microsoft Desktop Engine (MSDE). Gracias a su integracin con Visual Studio, SQL Server Express facilita el desarrollo de aplicaciones controladas por datos que tienen una gran capacidad, ofrecen un almacenamiento seguro y se implementan con rapidez.SQL Server Express es gratuito y puede ser redistribuido por los ISV (sujeto a un contrato). SQL Server Express es ideal para aprender y crear aplicaciones de servidor pequeas y de escritorio. Esta edicin es la mejor opcin para los fabricantes de software independientes, los desarrolladores no profesionales y los aficionados que crean aplicaciones cliente. Si necesita caractersticas de base de datos ms avanzadas, SQL Server Express se puede actualizar sin problemas a versiones ms sofisticadas de SQL Server. | Compact 3.5 SP1 (x86)Compact 3.1 (x86) | |

Componentes de SQL Server Componentes de servidor | Descripcin | SQL Server Database Engine (Motor de base de datos de SQL Server) | SQL Server Database Engine (Motor de base de datos de SQL Server) incluye Motor de base de datos, el servicio principal para almacenar, procesar y proteger datos; tambin incluye replicacin, bsqueda de texto completo y herramientas para administrar datos XML y relacionales. | Analysis Services | Analysis Services incluye las herramientas para crear y administrar aplicaciones de procesamiento analtico en lnea (OLAP) y de minera de datos. | Reporting Services | Reporting Services incluye componentes de servidor y de cliente para crear, administrar e implementar informes tabulares, matriciales, grficos y de forma libre. Reporting Services tambin es una plataforma extensible que puede utilizarse para desarrollar aplicaciones de informes. | Integration Services | Integration Services es un conjunto de herramientas grficas y objetos programables para mover, copiar y transformar datos. | Herramientas de administracin | Descripcin | SQL Server Management Studio | SQL Server Management Studio es un entorno integrado para obtener acceso, configurar, administrar y desarrollar los componentes de SQL Server. Management Studio permite a los desarrolladores de software y a los administradores de diversos grados de conocimientos usar SQL Server. Para la instalacin de Management Studio, se requiere Internet Explorer 6 Service Pack 1 o una versin posterior. | Administrador de configuracin de SQL Server | El Administrador de configuracin de SQL Server proporciona administracin de configuracin bsica para los servicios, protocolos de servidor, protocolos de cliente y alias de cliente de SQL Server. | SQL Server Profiler | SQL Server Profiler proporciona una interfaz grfica de usuario para supervisar una instancia del Motor de base de datos o de Analysis Services. | Asistente para la optimizacin de Motor de base de datos | El Asistente para la optimizacin de Motor de base de datos crea conjuntos ptimos de ndices, vistas indizadas y particiones. | Business Intelligence Development Studio | Business Intelligence Development Studio es un IDE para las soluciones Analysis Services, Reporting Services y Integration Services. Para la instalacin de BI Development Studio, se requiere Internet Explorer 6 Service Pack 1 o una versin posterior. | Componentes de conectividad | Instala componentes para la comunicacin entre clientes y servidores, y bibliotecas de red para DB-Library, ODBC y OLE DB. | Documentacin | Descripcin | Libros en pantalla de SQL Server | Documentacin principal para SQL Server. | Requisitos de hardware y software Componente | Requisito | Marco de trabajo2 | El programa de instalacin de SQL Server instala los siguientes componentes de software requeridos por el producto: * .NET Framework 3.5 SP11 * SQL Server Native Client * Archivos auxiliares para la instalacin de SQL Server | Software2 | El programa de instalacin de SQL Server requiere Microsoft Windows Installer 4.5 o una versin posterior Una vez instalados los componentes requeridos, el programa de instalacin de SQL Server comprobar que el equipo en el que se ha instalado SQL Server 2008 R2 tambin cumple los dems requisitos para su correcta instalacin. Para obtener ms informacin, vea Comprobar los parmetros del Comprobador de configuracin del sistema. | Software de red | Los requisitos de software de red para las versiones de 64 bits de SQL Server 2008 R2 son los mismos que para las versiones de 32 bits.Los sistemas operativos compatibles tienen el software de red integrado. Las instancias predeterminadas y con nombre independientes admiten los siguientes protocolos de red: * Memoria compartida * Canalizaciones con nombre * TCP/IP * VIANota: la memoria compartida y VIA no se admiten en clsteres de conmutacin por error.NotaEl protocolo VIA est desusado. Esta caracterstica se quitar en una versin futura de Microsoft SQL Server. Evite utilizar esta caracterstica en nuevos trabajos de desarrollo y tenga previsto modificar las aplicaciones que actualmente la utilizan. | Virtualizacin | SQL Server 2008 R2 se admite en entornos de mquina virtual que se ejecutan en el rol Hyper-V de las ediciones Standard, Enterprise y Datacenter de Windows Server 2008 SP2. La mquina virtual debe ejecutarse en un sistema operativo compatible con la edicin de SQL Server 2008 R2 concreta que se cita ms adelante en este

tema.Adems de los recursos requeridos por la particin primaria, a cada mquina virtual (particin secundaria) se debe proporcionar suficientes recursos de procesador, memoria y recursos de disco para su instancia de SQL Server 2008 R2. Los requisitos se enumeran ms adelante en este tema.3Dentro del rol Hyper-V de Windows Server 2008 SP2, se puede asignar un mximo de cuatro procesadores virtuales a mquinas virtuales que ejecuten las ediciones de 32 64 bits de Windows Server 2008. Se pueden asignar como mximo dos procesadores virtuales a equipos virtuales que ejecuten ediciones de 32 bits de Windows Server 2003. Para equipos virtuales que hospedan otros sistemas operativos, se puede asignar como mximo un procesador virtual a equipos virtuales.Notas: * Se recomienda cerrar SQL Server 2008 R2 antes de apagar la mquina virtual. * Para obtener ms informacin acerca del rol Hyper-V de Windows Server 2008 SP2, vea el sitio web de Windows Server 2008. * La agrupacin en clsteres de conmutacin por error del invitado se admite en SQL Server 2008 R2. Para obtener ms informacin sobre las versiones admitidas de SQL Server y los sistemas operativos para la agrupacin en clsteres de conmutacin por error del invitado, y la compatibilidad con la virtualizacin, vea el tema que trata sobre la directiva de compatibilidad para los productos de Microsoft SQL Server que se ejecutan en un entorno virtual de hardware. | Software de Internet | Para todas las instalaciones de SQL Server 2008 R2 se requiere Microsoft Internet Explorer 6 SP 1 o una versin posterior. Se requiere Internet Explorer 6 Service Pack 1 o una versin posterior para Microsoft Management Console (MMC), SQL Server Management Studio, Business Intelligence Development Studio, el componente Diseador de informes de Reporting Services y la Ayuda HTML. | Disco duro | Las necesidades de espacio en disco variarn con los componentes de SQL Server 2008 R2 que instale. Para obtener ms informacin, vea Requisitos de espacio en disco duro, ms adelante en este tema. | Unidad | Para la instalacin desde disco se necesita una unidad de CD o DVD. | Pantalla | Las herramientas grficas de SQL Server 2008 R2 requieren Super VGA o una resolucin mayor: resolucin mnima de 800 x 600 pxeles. | Otros dispositivos | Dispositivo sealador: se necesita un mouse Microsoft o dispositivo sealador compatible. | Requisitos de procesador, memoria y sistema operativo Reporting Services A partir de SQL Server 2008 R2, el componente Reporting Services ya no es compatible con los servidores basados en Itanium que ejecutan Windows Server 2003 o Windows Server 2003 R2. Reporting Services contina siendo compatible con otros sistemas operativos de 64 bits, incluidos los sistemas basados en Windows Server2008 para Itanium y sistemas basados en Windows Server2008R2 para Itanium. Para actualizar a SQL Server 2008 R2 desde una instalacin de SQL Server 2008 con Reporting Services en una edicin del sistema basada en Itanium de Windows Server 2003 o Windows Server 2003 R2, primero debe actualizar el sistema operativo. WOW64 WOW64: es una caracterstica de las ediciones de 64 bits de Windows que permite que las aplicaciones de 32 bits se ejecuten de forma nativa en el modo de 32 bits. Las aplicaciones funcionan en el modo de 32 bits, aunque el sistema operativo subyacente se ejecute en el modo de 64 bits. WOW64 se admite solamente para instancias independientes de SQL Server. WOW64 no se admite para instalaciones de clsteres de conmutacin por error de SQL Server. En las instalaciones de las ediciones de 64 bits de SQL Server en los sistemas operativos de 64 bits admitidos, las herramientas de administracin se admiten en WOW64. Para obtener ms informacin acerca de los sistemas operativos compatibles, seleccione una edicin de SQL Server 2008 R2 de las secciones siguientes. En un sistema operativo de 64 bits compatible, las instalaciones de las ediciones de 32 bits de SQL Server se pueden instalar en el subsistema de 32 bits de Windows on Windows (WOW64) de un servidor de 64 bits. Otras notas del sistema operativo SQL Server 2008 R2 no se admite en las instalaciones bsicas de servidor de Windows Server 2008 SP2 y Windows Server 2008 R2. Los sistemas operativos enumerados en las secciones de SQL Server Standard tambin se admiten para SQL Server Standard for Small Business Las ediciones SQL Server que se admiten en Windows Server 2008 R2 de 64 bits x64 Standard tambin se admiten en Windows Small Business Server 64-bit x64. Buenas prcticas del desarrollo e implementacin de Bases de Datos. Introduccin

Un DBMS no facilita disear correctamente una base de datos. Muchas veces debemos haber pasado por lo mismo. Nos piden disear la base de datos para un sistema, entonces procedemos a crear tablas y nombrarlas del modo que se nos ocurra o entendamos, pero cuando empezamos a desarrollar reportes para el sistema, puede ser dificultoso. Haces eso? Pues para!!. Recuerda que es un trabajo, y es un reflejo de t como empleado y habla tambin acerca de t como persona. Claro que a veces toma tiempo extra para entender el modelo de datos, pero ese tiempo extra pagar dividendos cuando necesites extraer datos o permitir el acceso a ellos de los usuarios. Veamos cual sera una buena forma de llamar a nuestras bases de datos, tablas, columnas, procedimientos almacenados e incluso vistas. Convenciones para tablas o vistas Tipo de Tabla o Vista | Sufijo para Tabla | Descripcin | Tabla de Histricos | hist | Esta tabla almacena informacin histrica. Tpicamente es una relacin de una a varios. | Tabla de Referencia | ref | Este tipo de tabla almacena nombres y descripciones. Ej. 1=Perros. | Snapshot | current | Almacena informacin actualizada, tpicamente se utiliza con tablas histricas para almacenar el ltimo registro para una clave externa. | Primera Instancia | orig | Almacena la primera instancia de una clave externa, es lo opuesto al Snapshot, pero contiene los mismo datos si es que slo hay un registro de la clave externa. | Casos especiales de Vistas Muchos DBA no dejan que los usuarios accedan directamente a las tablas, para eso utilizan vistas para las consultas contra las tablas. Es una buena prctica siempre que no haya demasiados joins. Para una vista, podemos nombrarla con una letra "v" o "vw" al comienzo del nombre, que ayuda cuando cuando se lista las vistas fuera del Administrador Corporativo tal como Microsoft Access. Gracias a ese prefijo el usuario puede distinguir si es una vista o una tabla, y cual es el tipo de informacin almacenada en la tabla y que tipo de tabla es. Notarn que no se indica utilizar un prefijo para una tabla. Esto es para establecer que siempre que un objeto no tenga prefijo es una tabla, y cuando tenga prefijo es una vista o procedimiento almacenado. Convenciones para nombrar columnas A veces uno tiene reglas para nombrar tablas, vistas o procedimientos almacenados. Sin embargo cuando se trata de columnas no lo tenemos. Una regla que puede ayudarnos mucho y ahorrarnos tiempo es llamar a la columna A de la tabla 1, llamarla tambin A en la tabla 2. Un simple movimiento que puede salvarnos de muchos problemas. Tipo de Columna | Sufijo de Columna | Descripcin | Nombre del elemento | name | Usada para describir el nombre de una clave principal | Descripcin del elemento | desc | Usada para describir el nombre con ms detalle | Fecha de los datos | entry_date | Usada para marcar con fecha una fila |

Usuario que ingres datos | ingresado_por | Usada para registrar que usuario o aplicacin introdujo los datos | Fecha de actualizacin de los datos | update_date | Muestra la fecha en que se actualizaron los datos | Usuario que actualiz los datos | modificado_por | Utilizada para almacenar el usuario que modific los datos | Clave primaria nmerica | <<>>_id | Utilizada describir la clave primaria cuando la clave es un valor nmerico | Procedimientos Almacenados Una convenci que puede utilizarse es 'usr_<>, de modo que cuando se depure la aplicacin se sabe que un objeto con 'usr_' es un procedimiento almacenado. Hay que incluir dentro del nombre algo que indique que es lo que hace el procedimiento almacenado. Por ejemplo si un procedimiento almacenado actualiza la categora de un producto, se le puede llamar 'usr_ActualizarCategoria'. Bases de Datos ltimamente el uso de una convencin para llama a la base de datos. Similar a la convencin de nombres para procedimientos almacenados, como usar el prefijo 'dev' y 'prod' para distinguir entre una base de datos de desarrollo y una de produccin. Administracin Operativa/diaria de los servidores: Instalacin/desinstalacin de parches, fixes y/o services packs del motor de DBMS, manejo de cambios e incidentes. Instalacin/Desinstalacin de Services Packs Instalacin Best practices for installing service packs, cumulative updates and hotfixes for SQL Server Las mejores prcticas para la instalacin de los Service Packs, actualizaciones acumulativas y las revisiones de SQL Server 1. Test on a test/dev SQL Server first and only after you have confirmed that all applications are working as expected then install it on a production SQL Server. Prueba en una prueba / dev SQL Server primero y slo despus de haber confirmado que todas las aplicaciones estn funcionando como se esperaba luego instalarlo en una produccin de SQL Server. 1. Review the Readme for Service Pack/cumulative update/hotfix. Revise el archivo Lame para el Service Pack / actualizacin acumulativa / revisin. Any concerns/recommendations will be found in the readme. Cualquier preocupacin y recomendaciones se encuentran en el archivo readme. 1. Run DBCC CHECKDB on ALL databases (user and system databases) and ensure that there were no errors reported. Ejecute DBCC CHECKDB en bases de datos de TODAS las bases de datos (usuario y sistema) y asegrese de que no haba ningn otro error. 1. Backup ALL databases (user and system databases) and full-text catalogs (if applicable). Copia de seguridad de bases de datos de TODAS las bases de datos (usuario y sistema) y los catlogos de texto (si es aplicable). This is NOT required but highly recommended. Esto no es necesario, pero muy recomendable. 1. Stop Monitoring and Anti-virus services Detenga los servicios de vigilancia y Anti-virus 1. Make sure you have the proper permissions to install (administrative privilege on server/cluster node) Asegrese de

que tiene los permisos adecuados para instalar (privilegios de administrador en el nodo de servidor / cluster) 1. The below points are for clustered SQL Server instance Los puntos siguientes se refieren a instancia de clster de SQL Server * Make sure ALL SQL resources come online on ALL cluster nodes Asegrese de que todos los recursos de SQL estn en lnea en todos los nodos del clster * Make sure that ALL disk resources (even the ones that not being used by SQL Server) are online and not in failed state. Asegrese de que todos los recursos de disco (incluso los que no son utilizados por SQL Server) en lnea y no en estado fallido. * Verify that there are no dependencies other than those created by the SQL Server setup on any SQL Server cluster resources. Compruebe que no hay dependencias que no sean los creados por la instalacin de SQL Server en los recursos de clster de SQL Server. * Run MPSRPT_SQL.exe on all cluster nodes (not required but recommended) Ejecutar MPSRPT_SQL.exe en todos los nodos del clster (no es necesario, pero se recomienda) * Make sure all remote desktop connections are closed. Asegrese de que todas las conexiones de escritorio remoto se cierran. You can connect to the node (you are running the setup from) using remote desktop connections but you should disconnect any remote connections to other cluster nodes. Usted puede conectar con el nodo (que est ejecutando la instalacin desde) el uso de conexiones de escritorio remoto, pero debe desconectar todas las conexiones remotas a otros nodos del clster. Desinstalacin A continuacin se explican los pasos necesarios para quitar un Service Pack de SQL Server y se ampla la informacin incluida en el archivo Readme.txt de cada Service Pack. Cuando instala un nuevo Service Pack, ste hace cambios en las tablas del sistema por motivos de mantenimiento, y actualiza las bases de datos de usuario y de distribucin que forman parte de una topologa de rplica. Debido a estos cambios, no es fcil quitar un Service Pack. No hay ninguna forma automtica de quitar un Service Pack, por lo que este proceso incluye varios pasos manuales arriesgados que es preciso realizar correctamente. Para quitar el nuevo Service Pack y volver a la versin que se estaba ejecutando antes, debe hacer una copia de seguridad de las bases de datos master, msdb y model pertenecientes a la versin a la que desea revertir. Por ejemplo, para revertir a la versin de SQL Server 2000 anterior al Service Pack 2 (SP2), necesita una copia de seguridad de las bases de datos master, msdb y model anteriores a la instalacin de SQL Server 2000 Service Pack 2. Si no tiene copias de seguridad de las bases de datos de su sistema en la versin del Service Pack a la que desea revertir, debe realizar los pasos siguientes para guardar las tareas programadas, los paquetes de Servicios de transformacin de datos (DTS, Data Transformation Services), los inicios de sesin y los catlogos de texto: * Cree secuencias de comandos de todas las tareas programadas (es decir, trabajos, alertas y operadores). * Guarde los paquetes DTS en un archivo. Debe guardar los paquetes de uno en uno y en archivos distintos. * Cree secuencias de comandos de los inicios de sesin y las contraseas. * Haga una copia de seguridad de las carpetas de los catlogos de texto. Para obtener ms informacin acerca de cmo crear secuencias de comandos de los inicios de sesin y las contraseas, consulte el siguiente artculo de Microsoft Knowledge Base: 246133 (http://support.microsoft.com/kb/246133/ ) INF: Transfer Logins and Passwords Between SQL Server 7.0 and SQL Server 2000 Para obtener ms informacin acerca de las copias de seguridad de catlogos de texto, consulte el siguiente artculo de Microsoft Knowledge Base: 240867 (http://support.microsoft.com/kb/240867/ ) INF: How to Move, Copy and Backup SQL 7.0 Full-Text Catalog Folders and Files NOTA: si no realiza los pasos anteriores, tendr que volver a crear manualmente las tareas programadas, los paquetes DTS, los inicios de sesin y los catlogos de texto. Realice los pasos siguientes para quitar el Service Pack y revertir a la versin anterior: * Separe todas las bases de datos de usuario. Para obtener ms informacin, consulte el tema "Attaching and Detaching Databases" en los Libros en pantalla de Microsoft SQL Server 7.0, o el tema "How to attach and detach a database (Enterprise Manager)" en los Libros en pantalla de Microsoft SQL Server 2000.

NOTA: si alguna de las bases de datos est implicada en una rplica, primero debe deshabilitar la publicacin y la distribucin. Para obtener ms informacin, consulte el tema "Deshabilitando la publicacin y distribucin" en los Libros en pantalla de SQL Server. * Detenga todos los servicios de SQL Server (es decir, MSSQLServer, SQLServerAgent, Microsoft DTC [Coordinador de transacciones distribuidas] y Microsoft Search). * Para una mayor seguridad, copie la carpeta Data en un lugar seguro. Si tiene archivos de datos y de registro en otra carpeta que no sea la carpeta predeterminada Data, copie tambin esos archivos. * Desinstale SQL Server mediante el subprograma Agregar o quitar programas disponible en el Panel de control. Despus de quitar SQL Server del equipo, Microsoft le recomienda reiniciarlo para quitar los archivos que estaban en uso durante el proceso de desinstalacin. * Instale SQL Server con el mismo juego de caracteres, el mismo criterio de ordenacin y la misma carpeta de intercalacin y destino para archivos de programas y de datos que haba en la instalacin original. * Aplique el Service Pack que se estuviese ejecutando antes de instalar el nuevo Service Pack. Por ejemplo, si desea quitar SQL Server 2000 SP2 y antes se estaba ejecutando SQL Server 2000 SP1, instale ste. * Restaure las bases de datos master, msdb y model de las copias de seguridad si tiene copias de seguridad de la misma versin que el Service Pack al que desea revertir. De esta forma adjuntar automticamente cualquier base de datos de usuario que estuviese adjunta cuando cre la copia de seguridad. Adjunte las bases de datos de usuario que cre despus de la ltima copia de seguridad de la base de datos master. Si no tiene copias de seguridad de las bases de datos master, msdb y model, haga lo siguiente: * Ejecute las secuencias de comandos que cre para volver a crear los inicios de sesin y las tareas programadas (es decir, trabajos, alertas y operadores). Si no cre las secuencias de comandos antes de desinstalar SQL Server, vuelva a crear manualmente los inicios de sesin y las tareas programadas. * Abra los paquetes DTS que guard como archivos. Guarde los paquetes en SQL Server. Para obtener ms informacin, consulte el tema "Cmo guardar un paquete DTS en SQL Server" en los Libros en pantalla de SQL Server 7.0 o el tema "Guardar un paquete DTS" de los Libros en pantalla de SQL Server 2000. * Vuelva a hacer los cambios que desee en la base de datos model. * Adjunte todas las bases de datos de usuario. NOTA: despus de volver a crear los inicios de sesin y las contraseas, puede que los usuarios no puedan obtener acceso a la base de datos porque quiz los usuarios de la base de datos no estn vinculados al correspondiente inicio de sesin. Este problema recibe el nombre de "usuarios hurfanos". * Si tena catlogos de texto, resturelos y vuelva a sincronizarlos. Para obtener ms informacin, consulte el artculo siguiente en Microsoft Knowledge Base: 240867 (http://support.microsoft.com/kb/240867/ ) INF: How to Move, Copy and Backup SQL 7.0 Full-Text Catalog Folders and Files * Si usa replicacin, debe reconfigurarla manualmente. * Si usa SQL Mail, reconfigrelo. Para obtener ms informacin, consulte el artculo siguiente en Microsoft Knowledge Base: 263556 (http://support.microsoft.com/kb/263556/ ) INF: How to Configure SQL Mail Manejo de Cambios e Incidentes The procedures outlined in this chapter will aid the troubleshooting and resolution of any application problem you encounter. Los procedimientos descritos en este captulo ayudarn a la solucin de problemas y resolucin de cualquier problema de aplicacin que te encuentres. Although these procedures focus on troubleshooting your Microsoft SQL Server, the close relationship that SQL Server maintains with other application components dictates that you be involved in all instances of problem management. Aunque estos procedimientos se centran en la solucin de problemas de Microsoft SQL Server , la estrecha relacin que mantiene con SQL Server otros componentes de aplicacin determina que usted se involucre en todas las instancias de administracin de problemas. The following procedures will help you properly gather symptom data, isolate problem location, determine the type of fix required, and use the lessons learned to improve the operational environment altogether. Los procedimientos siguientes le ayudarn a recoger datos adecuadamente los sntomas, aislar la ubicacin problema, determinar el tipo de

solucin requerida, y utilizar las lecciones aprendidas para mejorar el entorno operativo completo. Design Considerations Consideraciones sobre el diseo This chapter details a methodology for the isolation and management of application, and specifically SQL Server, problems. Este captulo detalla una metodologa para el aislamiento y la gestin de la aplicacin y el servidor SQL en concreto, los problemas. This methodology is meant to deal with the main stumbling block to good problem management: confusion. Esta metodologa est destinada a hacer frente a la principal escollo para la gestin de buen problema: la confusin. When a wide variety of symptoms are generated at many application layers, it is difficult to separate the meaningful symptoms from the red herrings. Cuando una amplia variedad de sntomas se generan en muchas capas de aplicacin, es difcil separar los sntomas significativos de las pistas falsas. It is also difficult to know where to begin when a number of possible courses of action present themselves. Tambin es difcil saber por dnde empezar cuando un nmero de posibles cursos de accin se presentan. The problem management methodology was designed to eliminate this confusion. La metodologa de gestin de problemas ha sido diseado para eliminar esta confusin. The methodology first deals with the types of symptoms that are given weight. La primera se refiere a la metodologa de los tipos de sntomas que se dan el peso. With this methodology, the user starts by going through a set of questions that touch upon the most common problem areas. Con esta metodologa, el usuario comienza por ir a travs de una serie de cuestiones que afectan a las reas problemticas ms comunes. As possible problem areas are eliminated, the problem at hand becomes isolated. Como posibles reas problemticas son eliminados, el problema en cuestin se asla. Once the problem has been completely isolated, the methodology recommends an appropriate solution. Una vez que el problema ha sido completamente aislado, la metodologa recomienda una solucin apropiada. This systematic approach was designed to deal with the chaos of a large, multi-tier application environment so that the problem management process does not degrade into confusion. Este enfoque sistemtico se dise para hacer frente al caos de un entorno de gran tamao, la aplicacin de varios niveles para que el proceso de gestin de problemas no se degrada en la confusin. Resource Requirements Requisitos de los recursos At a minimum, a database administrator is required for proper problem management. Como mnimo, un administrador de base de datos es necesaria para la gestin de problemas adecuada. Depending on the type of problem, client, middleware, and SQL developers may need to assist with troubleshooting and resolution. Dependiendo del tipo de problema, el cliente, el middleware y los desarrolladores de SQL puede ser necesario para ayudar con la solucin de problemas y resolucin. An application debug tool or operational mode may also be required. Una herramienta de depuracin aplicacin o modo de funcionamiento tambin puede ser necesaria. This would allow you to monitor the health of the application at each application layer between the client and the SQL Server. Esto le permitira controlar la salud de la aplicacin en cada capa de aplicacin entre el cliente y el servidor SQL Server. If you have no other way of determining the health of the application between the client and the SQL Server, then this tool or operational mode is needed. Si usted no tiene otra manera de determinar el estado de la aplicacin entre el cliente y el servidor SQL Server, este modo de herramienta o de funcionamiento que se necesita. A configuration problem that can be resolved after an analysis of Tier 1 symptom data (defined later in this chapter) should require no more than two to four hours of work on the part of the database administrator. Un problema de configuracin que se puede resolver despus de un anlisis de los datos del nivel 1 de sntomas (que se define ms adelante en este captulo) no debera requerir ms de dos a cuatro horas de trabajo por parte del administrador de la base de datos. A code problem that can be resolved after an analysis of Tier 1 symptom data could require two to four hours of work on the part of the database administrator and 2-16 hours on the part of the original developer. Un problema de cdigo que puede ser resuelto despus de un anlisis de los datos de Nivel 1 de sntomas podra requerir de dos a cuatro horas de trabajo por parte del administrador de la base de datos y 2-16 horas por parte del desarrollador original. A problem that requires the use of Tier 2 analysis (defined later in this chapter) could potentially require numerous days on the part of the database administrator. Un problema que requiere el uso de anlisis de Nivel 2 (que se define ms adelante en este captulo) podra obligar a numerosos das por parte del administrador de la base de datos. The analysis and resolution of this problem might also require assistance from the development team and the network administration team throughout that time period. El anlisis y la resolucin de este problema tambin puede requerir la ayuda del equipo de desarrollo y el equipo de administracin de la red a lo largo de ese perodo de tiempo. It is important that the database administrator understand the fixes that are associated with various problem states. Es

importante que el administrador de base de datos de entender las correcciones que se asocian con los estados con problemas diversos. A wide variety of resources are available that provide this guidance. Microsoft SQL Server 2000 Reference Library , Microsoft SQL Server 2000 Administrator's Companion and Inside Microsoft SQL Server 2000 (all published by Microsoft Press) are highly recommended. Una amplia variedad de recursos disponibles que proporcionan esta gua. Microsoft SQL Server 2000 Biblioteca de Referencia, Microsoft SQL Server 2000 Compaero administrador y el interior de Microsoft SQL Server 2000 (todas ellas publicadas por Microsoft Press) son altamente recomendables. System Prerequisites Requisitos del sistema At the onset of any incident, a specific data set, referred to as Tier 1 symptom data, should be gathered. En el inicio de cualquier incidente, un conjunto de datos especfico, denominado Nivel 1 de datos de sntomas, debe ser recogida. This data set will be discussed at length in the following chapter. Este conjunto de datos se analiza en profundidad en el captulo siguiente. Process Flowcharts Diagramas de flujo de procesos There are a number of steps to the problem management methodology detailed in this chapter: Hay una serie de medidas para la metodologa de gestin de problemas detallados en este captulo: * Gathering symptoms Recopilacin de los sntomas * Classifying symptoms Clasificacin de los sntomas * Connecting direct symptoms to the problem Conexin de los sntomas directos del problema * Isolating the problem Aislar el problema * Determining solution alternatives Determinacin de alternativas de solucin * Attempting to solve the problem El intento de resolver el problema Each step will be dealt with in greater detail later in this chapter. Cada paso se tratar con mayor detalle ms adelante en este captulo. An overall process flow has been developed that will help walk you through these steps. Un flujo de proceso en su conjunto ha sido desarrollado que ayudar a caminar a travs de estos pasos. The process flow is described by three process flowcharts, which are described here: the Application Flowchart, the Data Tier Flowchart, and the Data Tier Operations Flowchart. El flujo del proceso se describe por tres diagramas de flujo del proceso que se describe a continuacin: Diagrama de flujo de la aplicacin, el diagrama de flujo de datos de nivel, y el diagrama de flujo de datos de Nivel de Operaciones. Application Flowchart Diagrama de flujo de aplicaciones The Application Flowchart (Figure 7.1) describes the process of gathering and analyzing symptom data. El diagrama de flujo de aplicacin (Figura 7.1) describe el proceso de recopilacin y anlisis de datos de los sntomas. Following this flowchart will also allow you to determine whether the problem is related to SQL or not. A raz de este diagrama de flujo tambin le permitir determinar si el problema est relacionado con SQL o no. Figure 7.1: Application Flowchart Figura 7.1: Diagrama de flujo de aplicaciones The Tier 1 symptom data referred to in this flowchart comes from five sources: Los datos del nivel 1 los sntomas mencionados en este diagrama de flujo proviene de cinco fuentes: * SQL Error Log SQL registro de errores * Event Viewer - System Log Visor de sucesos - Registro del sistema * Event Viewer - Application Log Visor de sucesos - registro de la aplicacin * The application behavior El comportamiento de la aplicacin * Any errors handled by an independent process, including the following: Los errores manejados por un proceso independiente, incluido lo siguiente: * Screen errors Errores de pantalla * DTS (data transformation service) errors DTS (transformacin de datos de servicio) los errores * bcp errors bcp errores * Application log errors Errores en la aplicacin de registro Often it is possible to determine the root cause of the symptoms from the Tier 1 symptom data. A menudo es posible determinar la causa raz de los sntomas de los datos de los sntomas de nivel 1. For example, when the DTC (distributed transaction coordinator) service is first started in an improperly configured clustered environment, the error message found in the Event Viewer System Log will state that comclust.exe must be run to configure the DTC service for use with the cluster. Por ejemplo, cuando el DTC (Coordinador de transacciones distribuidas) de servicios se empieza en un ambiente mal configurado en clster, el mensaje de error se encuentra en el Visor de sucesos - Registro del sistema indicar que comclust.exe se debe ejecutar para configurar el servicio DTC para su uso con el clster. This is a rather

clear statement of problem and resolution! Esta es una declaracin bastante clara del problema y la solucin! When the exact problem cannot be determined from the initial Tier 1 symptom data, the Application Flowchart requires that you confirm the symptoms exist at each layer of the application, starting with the client. Cuando el problema exacto no puede determinarse a partir de los datos iniciales del Nivel 1 de sntomas, el diagrama de flujo de aplicaciones requiere que confirmar los sntomas existen en cada capa de la aplicacin, empezando por el cliente. As you move toward the SQL Server, you may be able to isolate the problem to a middle tier or connectivity component. A medida que avanza hacia el SQL Server, puede ser capaz de aislar el problema a un nivel intermedio o componente de conectividad. Only once you are sure the symptoms are being generated by the SQL Server itself are you ready to move on to the next flowchart. Slo una vez que est seguro de que los sntomas estn siendo generados por el propio SQL Server Ests listo para pasar a la siguiente diagrama de flujo. The Data Tier Flowchart El diagrama de flujo de datos de nivel The Data Tier Flowchart (Figure 7.2) begins by asking the question "Has the application ever worked in this environment?" El diagrama de flujo de datos de nivel (Figura 7.2) comienza con la pregunta "Ha trabajado alguna vez la aplicacin en este entorno?" The answer to this question will determine the kind of troubleshooting that needs to be done. La respuesta a esta pregunta determinar el tipo de solucin de problemas que hay que hacer. If the application was previously working and only recently encountered a problem, then this flowchart can be skipped altogether. Si la aplicacin se han trabajado previamente y slo recientemente se ha detectado un problema, entonces este diagrama de flujo puede ser omitido por completo. If the application has yet to work in the current production environment, you will need to become familiar with the release process that led to this state. Si la aplicacin an no ha sido trabajar en el entorno de produccin actual, tendr que familiarizarse con el proceso de liberacin que llev a este estado. The Data Tier Flowchart will walk you through the elements of the release process that might be the source of your problem. El diagrama de flujo de datos de nivel le guiar a travs de los elementos del proceso de liberacin que podra ser el origen de su problema. Your primary goal is to find any changes that were introduced between development, test and production. Su objetivo principal es encontrar los cambios que se introdujeron entre el desarrollo, prueba y produccin. If the changes that occurred during the release process have a high correlation to your symptoms, eliminating the changes should eliminate the problem. Si los cambios que se produjeron durante el procedimiento de liberacin tienen una alta correlacin con los sntomas, la eliminacin de los cambios para eliminar el problema. This exercise is also a good way to improve the release process so that similar problems do not crop up in the future. Este ejercicio es tambin una buena manera de mejorar el proceso de liberacin de modo que los problemas no vuelvan a surgir en el futuro. If conforming your environment to a known working environment still does not alleviate your problem, you will have to move on to the final flowchart. Si conforme a su entorno un ambiente de trabajo an no se conoce a aliviar su problema, usted tendr que pasar a la final de diagrama de flujo. Figure 7.2: Data Tier Flowchart Figura 7.2: Diagrama de flujo de datos de nivel Data Tier Operations Flowchart Diagrama de flujo de datos de operaciones de nivel The Data Tier Operations Flowchart is the final flowchart in the problem-management process. El diagrama de flujo de datos de operaciones de nivel es el diagrama de flujo final en el proceso de gestin de problemas. This flowchart focuses on the operations of your SQL Server. Este diagrama se centra en las operaciones de su SQL Server. It determines whether your problem is based on faulty change management or one of the seven common problem areas that plague SQL Server-based application components. Se determina si el problema se basa en la gestin de cambios defectuosa o una de las siete reas problemticas comunes que aquejan a SQL Server basadas en componentes de la aplicacin. When looking at the common SQL Server problem areas, these flowcharts make use of Tier 2 analysis. Cuando se observan las reas comunes de SQL Server con problemas, estos diagramas de flujo de hacer uso de anlisis de Nivel 2. Tier 2 analysis is composed of three types of in-depth analysis: Nivel 2 el anlisis se compone de tres tipos de anlisis en profundidad: * Profiler Profiler * Query Analyzer - Execution Plan El Analizador de consultas - Ejecucin del Plan * Other trace utilities, including the following: Otras utilidades de seguimiento, incluyendo las siguientes: * ODBC Data Source Administrator Tracing Administrador de orgenes de datos ODBC - Seguimiento * Network trace Red de seguimiento Tier 2 analysis is the next stage in developing symptom data. Nivel 2 de anlisis es el siguiente paso en el desarrollo de los datos de los sntomas. By monitoring all activity on the SQL Server with Profiler, it is possible to isolate the

problematic behavior to a specific query or set of queries. Mediante la supervisin de toda la actividad en el servidor SQL Server con el Profiler, es posible aislar el comportamiento problemtico a una pregunta especfica o un conjunto de consultas. Once the problematic queries have been isolated, it is possible to delve even further into their workings with the Query Analyzer's Execution Plan option. Una vez que las consultas problemticas han sido aislados, es posible profundizar an ms en sus trabajos con la opcin Analizador de consultas de un plan de ejecucin. Other trace utilities also provide this enhanced ability to isolate the problematic behavior occurring on your SQL Server. Otras utilidades de rastreo tambin proporcionan esta capacidad mejorada para aislar el comportamiento problemtico ocurre en SQL Server. Figure 7.3: Data Tier Operations Flowchart Figura 7.3: Diagrama de flujo de datos de Nivel de Operaciones Performing Tier 2 analysis can be exhausting, but it is well worth it. Realizacin de anlisis de nivel 2 puede ser agotador, pero bien vale la pena. Becoming adept at isolating your problem and properly defining its scope will help ensure that the solution you come up with actually addresses the problem. Convertirse en expertos en aislar el problema y definir adecuadamente su alcance ayudar a asegurar que la solucin que llegar a realidad aborda el problema. It is important to note that the Data Tier Operations Flowcharts should not be used until a preceding flowchart instructs you to do so. Es importante sealar que los diagramas de flujo de datos de operaciones de nivel no se debe utilizar hasta que un diagrama de flujo anterior le indica que debe hacerlo. It is extremely important that you rule out client and middle tier components as the source of your problem before you focus on the SQL Server. Es muy importante que descartar los componentes de cliente y nivel medio como el origen de su problema antes de centrarse en el SQL Server. It is also important that you first rule out installation problems when it comes to recently installed application environments. Tambin es importante que primero descartar problemas de instalacin cuando se trata de entornos de aplicaciones recin instaladas. Only by starting the process at the beginning (with the Application Flowchart) can you ensure that all possible options are pursued in the proper order. Slo poniendo en marcha el proceso al inicio (con el diagrama de flujo de aplicaciones) se puede asegurar que todas las opciones posibles son perseguidos en el orden correcto. Problem Management Gestin de Problemas The process of dealing with application problems can be viewed at many different levels of granularity. El proceso de lidiar con los problemas de aplicacin se puede ver en muchos diferentes niveles de granularidad. As a program manager, you will want to ensure that all the personnel involved in the process are following the right methodology. Como director del programa, usted querr asegurarse de que todo el personal involucrado en el proceso estn siguiendo la metodologa correcta. As a database administrator, you will want to make sure that all symptom data has been retrieved from each application layer. Como administrador de base de datos, usted querr asegurarse de que todos los datos de los sntomas ha sido encontrado en cada capa de la aplicacin. To assist each of these roles, a number of stepby-step processes have been developed that, together, make up the recommended problem management methodology. Para ayudar a cada uno de estos papeles, una serie de procesos paso a paso se han desarrollado, en conjunto, conforman la metodologa recomendada problema de gestin. Terminologa utilizada A symptom is any behavior, message, or error that is not expected in the normal operation of your application. Un sntoma es cualquier comportamiento, mensaje o error que no se espera que en el normal funcionamiento de su aplicacin. A problem is the actual deleterious code, configuration, or data that is causing the symptom. Un problema es que los actuales cdigos nocivos, la configuracin o los datos que est causando los sntomas. The difficult thing about problem management is connecting the symptom to the actual problem. Lo difcil de la gestin de problemas es conectar el sntoma del problema real. Once the problem has been discovered, there is often a vast array of known solutions to choose from. Una vez que el problema se ha descubierto, a menudo hay una amplia gama de soluciones conocidas para elegir. It is the misdiagnosis of the problem that causes the problem resolution to drag on. Es el mal diagnstico del problema que hace que la resolucin de problemas a alargarse. Misdiagnosis, and the steps taken because of it, can easily make the problem worse. El diagnstico errneo, y las medidas adoptadas a causa de ello, puede hacer fcilmente el problema peor. High-level Process Proceso de alto nivel At a high level, the process of managing problem resolution is as follows: En un nivel alto, el proceso de gestin de la resolucin del problema es el siguiente: 1. Analysis phase: Gather the initial set of symptoms. Fase de anlisis: Rene el conjunto inicial de los sntomas. 2. Separate symptoms into the following three categories: symptoms directly caused by the problem, symptoms related

to the problem, and symptoms not related to the problem. Los sntomas por separado en las siguientes tres categoras: sntomas causados directamente por el problema, los sntomas relacionados con el problema, y los sntomas no relacionados con el problema. 3. Determine a working theory of the problem. Determinar una teora de trabajo del problema. Try to base your theory on the symptoms classified as being directly caused by the problem. Trate de basar su teora sobre los sntomas clasificados como directamente causado por el problema. If the problem is apparent, go to step 8. Si el problema es evidente, vaya al paso 8. 4. If the problem is not apparent, gather additional symptom data and separate it into the three symptom categories as it is logged. Si el problema no es evidente, recopilar datos adicionales de sntomas y separarla en las tres categoras de sntomas, ya que se registra. Keep reworking the theory of the problem as new symptom data is logged. Mantenga reelaboracin de la teora del problema, ya que los nuevos datos de sntomas se registra. When gathering additional symptom data be sure to focus on the theorized problem area. Cuando la recoleccin de datos adicionales de sntomas, asegrese de concentrarse en el rea del problema teorizado. Your research should allow you to rule out certain areas and isolate the problem area. Su investigacin le debera permitir descartar ciertas reas y aislar el rea del problema. 5. After isolating the problem area, determine if the problem is apparent. Despus de aislar el rea del problema, determinar si el problema es evidente. If so, go to step 8. Si es as, vaya al paso 8. 6. If the problem is still not apparent, use in-depth analysis tools such as Profiler and Query Analyzer's Execution Plan option to determine the source of the symptoms. Si el problema an no es evidente, utilizar a fondo las herramientas de anlisis como de perfiles y la opcin Analizador de consultas de un plan de ejecucin para determinar el origen de los sntomas. When the problem is apparent go to step 8. Cuando el problema es evidente, vaya al paso 8. 7. If the problem still cannot be determined after in-depth analysis, re-examine your classification of the symptoms. Si el problema an no puede determinarse despus de un anlisis en profundidad, re-examinar su clasificacin de los sntomas. You may be placing too much emphasis on a non-related symptom and ignoring the symptoms that point straight to the problem. Se le puede poner demasiado nfasis en un sntoma no relacionado, y haciendo caso omiso de los sntomas que apuntan directamente al problema. If continued analysis of the symptoms does not reveal an apparent problem, go to step 8 anyway. Si el anlisis continuo de los sntomas no revela un problema aparente, vaya al paso 8 de todos modos. By going through the solution phase you will gain new data with which to re-analyze the situation. Al pasar por la fase de solucin obtendr nuevos datos con los que volver a analizar la situacin. 8. Solution phase: Once you have a clear view of the problem, there are bound to be a number of solutions that can be attempted. Fase de solucin: Una vez que tenga una visin clara del problema, no estn obligados a ser una serie de soluciones que se pueden intentar. Prioritize your solution alternatives. D prioridad a sus alternativas de solucin. Choose the solution that best addresses your theory of the problem and the directly related symptoms you are encountering, and that is considered a best practice. Elija la solucin que mejor se ocupa de la teora del problema y los sntomas directamente relacionados con el que ha encontrado, y que se considera una buena prctica. 9. If possible, test your solution in a test environment. Si es posible, pruebe la solucin en un entorno de prueba. If the test of the solution indicates that it is not the best alternative, go back to your original set of solution alternatives and test the next most desirable solution. Si la prueba de la solucin indica que no es la mejor alternativa, volver a su original conjunto de alternativas de solucin y poner a prueba la siguiente solucin ms deseable. Continue testing until an appropriate solution presents itself. Contine probando hasta que una solucin apropiada se presenta. If you run out of solution alternatives or at any time one of your solutions makes matters worse, go to step 13. Si usted se queda sin alternativas de solucin o en cualquier momento una de sus soluciones empeora las cosas, vaya al paso 13. 10. Plan the implementation of your solution. Planear la implementacin de su solucin. Attempt to minimize the impact of the implementation on the operation of your application (that part that is still functional). Trate de minimizar el impacto de la aplicacin sobre el funcionamiento de la aplicacin (la parte que sigue funcionando). Have all parties involved in the operation of your data center provide feedback on the impact of your solution and your proposed implementation of it. Ha todas las partes involucradas en la operacin de su centro de datos proporcionan informacin sobre el impacto de la solucin y la propuesta de aplicacin de la misma. 11. Implement your solution according to the final plan. Implementar la solucin de acuerdo con el plan final. 12. Gather a new set of symptom data after the solution has been implemented. Rena a un nuevo conjunto de datos de sntomas despus de la solucin ha sido implementada. Compare the new set of symptom data to the original set of symptom data. Compare el nuevo conjunto de datos de sntomas para el conjunto original de datos de los sntomas. If the symptoms have been alleviated, the solution worked. Si los sntomas se han aliviado, la solucin funcion. If the symptoms have only been somewhat reduced, go back to your original set of solution alternatives and choose the next

most desirable one to implement. Si los sntomas slo se han reducido un poco, volver a su original conjunto de alternativas de solucin y elegir el lado ms conveniente de aplicar. Determine how that solution can be implemented in light of the first implementation you executed (you may need to roll back your current solution). Determinar la forma en que la solucin puede ser implementada a la luz de la primera aplicacin que ejecuta (puede que tenga que deshacer la solucin actual). Repeat the implementation process with each known solution until the symptoms are alleviated. Repita el proceso de implementacin con cada solucin conocida hasta que los sntomas se alivian. If at any point the symptoms get worse go to step 13. Si en algn momento los sntomas empeoran, vaya al paso 13. 13. Re-examination phase: The act of implementing a failed solution presents a whole host of new symptom data. Nuevo examen de la fase: El acto de implementacin de una solucin no se presenta toda una serie de datos de sntomas nuevos. As symptoms disappear or reappear between solution attempts you are given greater insight into the nature of the problem. Como los sntomas desaparecen o vuelven a aparecer entre los intentos de solucin se le da un mayor conocimiento de la naturaleza del problema. Closely analyze the changes that occurred to your application after the failed solution attempt. Muy analizar los cambios que se produjeron a su solicitud despus del intento de solucin fracas. Let the differences between symptom data sets help determine if your original classification of symptoms was correct. Que las diferencias entre los sntomas de datos conjuntos de ayuda a determinar si su clasificacin original de los sntomas fue correcta. Use all this new data to develop a better theory of the problem. Use todos estos nuevos datos para desarrollar una teora mejor el problema. If necessary, go back to step 6 and perform in-depth analysis again, this time focusing on the new problem theory. Si es necesario, vuelva al paso 6 y llevar a cabo un anlisis en profundidad, esta vez centrado en la teora del nuevo problema. If the new data makes the problem apparent, go to step 8. Si los nuevos datos hace que el aparente problema, vaya al paso 8. Detailed Analysis Process Proceso de Anlisis detallado Once the problem management process has been initiated, the most important task will be the discovery and isolation of the problem. Una vez que el proceso de administracin de problemas se ha iniciado, la tarea ms importante ser el descubrimiento y aislamiento del problema. If the symptoms can be traced back to the SQL Server, the best tool for providing detailed analysis of the problematic behavior is Profiler. Si los sntomas se remonta a la de SQL Server, la mejor herramienta para proporcionar un anlisis detallado de la conducta problemtica es Profiler. The following steps outline the use of Profiler for problem detection and isolation: Los pasos siguientes describen el uso de Profiler para la deteccin de problemas y el aislamiento: 1. On the SQL Server program menu, select Profiler . En el men de programas de SQL Server, seleccione Profiler. 2. Inside Profiler, select File , then New , then Trace . Dentro de Profiler, seleccione Archivo y luego Nuevo, y luego traza. 3. Logon to your SQL Server. De inicio de sesin a SQL Server. 4. On the General tab, specify the Trace name and Save to file location , and disable Enable file rollover . En la ficha General, especifique el nombre de seguimiento y ubicacin de Guardar en archivo y desactive Habilitar sustitucin incremental de archivos. 5. On the Events tab, remove all existing events from Selected event classes . En la ficha Eventos, eliminar todos los eventos existentes de las clases de evento seleccionado. Add the following events to Selected event classes : Aadir los siguientes eventos para las clases de eventos seleccionados: * Errors and Warnings Attention - Errores y advertencias de Atencin * Errors and Warnings ErrorLog Errores y advertencias - ErrorLog * Errors and Warnings EventLog Errores y advertencias - EventLog * Errors and Warnings Exception Errores y advertencias - Excepcin * Errors and Warnings Execution Warnings Errores y advertencias - Advertencias de ejecucin * Errors and Warnings Hash Warnings Errores y advertencias - Advertencias Hash * Errors and Warnings Missing Column Statistics Errores y advertencias - La falta de estadsticas de columnas * Errors and Warnings Missing Join Predicate Errores y advertencias - La falta de un predicado * Errors and Warnings OLEDB Errors Errores y advertencias - Errores OLEDB * Errors and Warnings Sort Warnings Errores y advertencias Advertencias - Ordenar * Stored Procedures SP:Completed Procedimientos almacenados: SP: Completed * Stored Procedures SP:StmtCompleted Procedimientos almacenados - SP: StmtCompleted * TSQL SQL:StmtCompleted TSQL - SQL: StmtCompleted 6. On the Data Columns tab, add the following data to Selected data : En la ficha Columnas de datos, agregar los siguientes datos para los datos seleccionados: * DatabaseName DatabaseName

* DBUserName DBUserName * HostName HostName 7. On the Filters tab, select DatabaseName , then select Like , and add the name of your database. En la ficha Filtros, seleccione DatabaseName, a continuacin, seleccione igual, y aadir el nombre de su base de datos. 8. Click the Run button to begin the trace. Haga clic en el botn Ejecutar para iniciar el rastreo. When you feel you have captured enough data, click the Stop button. Cuando usted siente que ha capturado suficientes datos, haga clic en el botn Detener. 9. Analyze the rows captured during the trace. Analizar las filas capturadas durante el seguimiento. Were there errors generated by the client activity? Hubo errores generados por la actividad de los clientes? There will be a huge amount of data to sift through, so attempt to focus on the rows generated while the problematic code ran. Habr una gran cantidad de datos para tamizar a travs de, por lo que tratar de centrarse en las filas generadas, mientras que el cdigo problemtico ech a correr. If you know the exact statements that you are looking for, you can use the search functionality provided by Profiler. Si conoces a las declaraciones exactas que usted est buscando, puede utilizar la funcionalidad de bsqueda proporcionado por Profiler. Click the first row of the trace, select Edit , and then Find . Haga clic en la primera fila de la traza, seleccione Editar y, a continuacin, en Buscar. Enter a few words from the statement you are searching for in the Search Value text box. Introduzca unas pocas palabras de la declaracin que usted est buscando en el cuadro de bsqueda de texto Valor. Select TextData from the Data column drop-down box. Seleccione TextData de la columna de datos de cuadro de lista desplegable. Click the Find Next button. Haga clic en el botn Buscar siguiente. Profiler will display the first instance of the search text. Profiler se mostrar la primera instancia de la bsqueda de texto. Problem Management Versus Incident Management Gestin de Problemas Versus Gestin de Incidentes At some point in the management of your problem, you may find that the symptoms disappear and the problem seems to go away magically. En algn momento en la gestin de su problema, es posible que los sntomas desaparezcan y el problema parece desaparecer por arte de magia. This is often the case with load-based problems. Este es frecuentemente el caso con la carga a base de problemas. When the user load subsides, the symptoms may simply vanish. Cuando la carga de usuarios disminuye, los sntomas pueden simplemente desaparecer. When this occurs, it is very difficult to continue the problem management process. Cuando esto ocurre, es muy difcil para continuar el proceso de gestin de problemas. Unless you have a way to generate load that does not result in actual data changes to the production environment, you can no longer gather symptom data. A menos que tenga una manera de generar una carga que no da lugar a cambios en los datos reales en el entorno de produccin, ya no se puede recopilar datos de los sntomas. It also difficult to measure the effectiveness of new fixes in this situation when no symptoms exist to correct. Tambin difcil de medir la eficacia de las nuevas revisiones en esta situacin cuando no hay sntomas existen para corregir. In this situation, you may need to switch over to an incident management approach. En esta situacin, puede que tenga que cambiar a un enfoque de gestin de incidencias. An incident management approach is much simpler than a problem management approach. Un enfoque de gestin de incidencias es mucho ms simple que un enfoque de gestin de problemas. With an incident management approach, you are simply attempting to limit the damage caused by the incident for the duration that it occurs. Con un enfoque de gestin de incidencias, que est simplemente tratando de limitar el dao causado por el incidente durante el tiempo que se produce. Your response may be as simple as rebooting servers the moment they freeze. Su respuesta puede ser tan simple como reiniciar los servidores del momento en que se congele. Or you may have to engage in an extensive data-cleansing operating that returns the production environment to a working state once the symptoms subside. O puede que tenga que participar en un amplio operativo de limpieza de datos que devuelve el entorno de produccin para un estado de trabajo, una vez que desaparezcan los sntomas. It is always better to approach a problematic situation with the notion that you can fix the problem. Siempre es mejor acercarse a una situacin problemtica con la idea de que puede solucionar el problema. If you are simply trying to get through the current incident, your efforts will accomplish nothing in the long run. Si usted est simplemente tratando de obtener a travs de la corriente incidente, sus esfuerzos no servirn para nada en el largo plazo. If the randomness of your production environment is convincing you that you need to try the incident management approach instead of the problem management approach, you should consider building out a test environment with load tools that can allow you to continue with your problem management. Si la aleatoriedad de su entorno de produccin que est convenciendo de que hay que probar el enfoque de la gestin de incidencias en lugar del enfoque de gestin de problemas, usted debe considerar la construccin de un entorno de pruebas con las herramientas de carga que se le permiten continuar con la

gestin de su problema. Problems That Appear as Database Problems Los problemas que aparecen como los problemas de base de datos One of the goals of the problem management methodology is to isolate database problems from other application problems. Uno de los objetivos de la metodologa de gestin de problemas es aislar los problemas de base de datos de problemas de aplicacin. This section looks at two specific problem areas that are frequently misdiagnosed as database problems. En esta seccin se analiza dos reas problemticas especficas que se confunde frecuentemente con problemas de base de datos. By understanding the nature of these problems, you can identify them when they appear. Mediante la comprensin de la naturaleza de estos problemas, usted puede identificar el momento en que aparecen. Connectivity Conectividad Connectivity may be one of the hardest application components to troubleshoot because of the wide variety of technologies used to connect the client tier to the data tier. La conectividad puede ser uno de los componentes ms difciles de aplicaciones para solucionar problemas debido a la amplia variedad de tecnologas usadas para conectar la capa de cliente al nivel de datos. It is clear when the client is not connecting; but it can be difficult to determine the source of the connection problem. Es evidente cuando el cliente no se conecta, pero puede ser difcil determinar el origen del problema de conexin. The first step is to stop using any connectivity technology that is no longer supported. El primer paso es dejar de usar cualquier tecnologa de conectividad que ya no se admite. If the client uses RDO or dblib to connect to your SQL Server, there is a good chance that your connectivity problem is being caused by an incompatibility. Si el cliente utiliza RDO o DBLIB para conectarse a su servidor SQL Server, hay una buena probabilidad de que el problema de conectividad se debe a una incompatibilidad. If possible, replace the data access library that is being used with one that is supported and test the connectivity of the application. Si es posible, sustituir a la biblioteca de acceso a los datos que est siendo utilizado por otro que se apoya y probar la conectividad de la aplicacin. Next, try connecting to the SQL Server using a mechanism other than the data access layer that is employed by the application. A continuacin, intente conectarse a SQL Server mediante un mecanismo distinto de la capa de acceso a datos que se emplea por la aplicacin. This will confirm whether the SQL Server is responding at all. Esto confirmar si el SQL Server responde en absoluto. If you are unable to ping the SQL Server, the network and/or name resolution server (DNS) may be the problem. Si usted no puede hacer ping al servidor SQL, la red y / o servidor de resolucin de nombres (DNS) puede ser el problema. If you can ping the server, but cannot open a Query Analyzer session pointed at the server, the SQL service itself may be the problem. Si puede hacer ping al servidor, pero no se puede abrir una sesin el Analizador de consultas sealado en el servidor, el servicio de SQL Server en s mismo puede ser el problema. If you are able to open a Query Analyzer session pointed at the server, the session should attempt to handle your application's connection request. Si usted es capaz de abrir una sesin el Analizador de consultas sealado en el servidor, la sesin debe tratar de manejar la peticin de la aplicacin de conexin. When testing connectivity with Query Analyzer, make sure you attempt to connect to SQL Server using the same network library that your application employs. Al probar la conectividad con el Analizador de consultas, asegrese de que intenta conectarse a SQL Server mediante la biblioteca de la misma red que la aplicacin utiliza. Then check the credentials that your application is using at connect time. A continuacin, compruebe las credenciales que utiliza la aplicacin en tiempo de conexin. Is a valid login/password combination being used? Es una vlida de usuario / contrasea combinacin que se utiliza? If you were able to open a Query Analyzer session with the same credentials, the credentials are probably not the source of the problem. Si fueron capaces de abrir una sesin el Analizador de consultas con las mismas credenciales, las credenciales no son probablemente la fuente del problema. Next, be sure that your application is handling any connection errors that your data access layer may be encountering. A continuacin, asegrese de que su aplicacin se encarga de los errores de conexin que la capa de acceso a datos se pueden encontrar. When using ActiveX Data Objects (ADO), be sure to check the Errors collection of the Connection object in Performance Monitor. Cuando el uso de ActiveX Data Objects (ADO), asegrate de revisar la coleccin Errors del objeto Connection en Monitor de rendimiento. The errors returned to the data access layer may provide the best clue as to the cause of the connectivity problem. Los errores devueltos a la capa de acceso a datos puede proporcionar la mejor pista en cuanto a la causa del problema de conectividad. Another possible problematic state is when your application succeeds in connecting to the SQL Server, but is unable to use the connection (because of problematic client side code). Otro estado posible es un problema cuando la aplicacin tiene xito en la conexin a SQL Server, pero es incapaz de utilizar la conexin (a causa de un problema de cdigo del lado del cliente). You can determine if this is the case by opening SQL Enterprise Manager and selecting your SQL Server, Management , Current Activity , and Process Info . Usted puede determinar si este es el caso con la apertura de SQL

Enterprise Manager y seleccionar el servidor SQL Server, la Administracin, la actividad actual, y Informacin de Procesos. If your client's PC name can be found in the Host column (and no other process on your client's PC has access to SQL) then your client has successfully connected to the SQL Server. Si el nombre de su cliente de PC se puede encontrar en la columna Host (y ningn otro proceso en el PC de su cliente tiene acceso a SQL Server) y luego el cliente se ha conectado correctamente a SQL Server. If you double-click the row with the correct "Host" value you will be able to see "Last Transact SQL command batch." Si hace doble clic en la fila con la correcta "Host" valor que ser capaz de ver "de Transact ltima lotes de comandos SQL." This will show you what queries, if any, your client has attempted to execute against the SQL Server. Esto te mostrar lo que consulta, si los hay, su cliente ha intentado ejecutar en el servidor SQL Server. You may have to right-click Current Activity , and select Refresh to see the most recent query. Puede que tenga que haga clic con la actividad actual, y seleccionar Actualizar para ver la consulta ms reciente. You can also confirm whether or not your client is sending queries to the SQL Server by running Profiler and filtering out all other hosts except your client. Tambin puede confirmar si su cliente es el envo de consultas a SQL Server mediante la ejecucin de perfiles y filtrar todos los otros hosts a excepcin de su cliente. If there is evidence that queries are being sent to the SQL Server, you do not have a connectivity problem. Si hay evidencia de que las consultas estn siendo enviados a SQL Server, usted no tiene un problema de conectividad. The final connectivity issue to watch for is extensive use of server-side cursors. El problema de conectividad final a tener en cuenta es el uso extenso de los cursores del lado del servidor. If your application client is attempting to work with a large recordset, but is not opening a client-side cursor, the cursor will be located at and managed by the SQL Server. Si su cliente de la aplicacin est tratando de trabajar con un conjunto de registros grande, pero no es abrir un cursor del lado del cliente, el cursor se encuentra en y gestionada por el servidor SQL Server. Asking the SQL Server to manage a cursor that needs to walk through a large number of rows and asking it to hold locks on those rows so the cursor can make changes as it goes, could end up causing a massive amount of locking. Solicitar que el SQL Server para administrar un cursor que tiene que caminar a travs de un gran nmero de filas y pidindole que mantienen bloqueos en las filas para que el cursor puede hacer cambios a medida que avanza, puede acabar provocando una enorme cantidad de bloqueo. Though this might appear to be a SQL Server issue, it is a connectivity problem. Aunque esto podra parecer un problema de SQL Server, es un problema de conectividad. The slow link that your client is working over will not free the locks in a timely manner. El vnculo de baja velocidad que su cliente est trabajando en no liberar los bloqueos de manera oportuna. Also, if your user walks away from the interface without ending the session, the connection will stay open and the locks will remain. Adems, si el usuario se aleja de la interfaz sin finalizar la sesin, la conexin permanecer abierta y los candados permanecern. This problem can be avoided easily by using a client-side cursor in the cursor declaration syntax. Este problema se puede evitar fcilmente mediante el uso de un cursor del lado del cliente en la sintaxis de la declaracin del cursor. This will cause SQL Server to move the entire recordset across the connection when the rows are first requested. Esto har que SQL Server para mover el conjunto de registros completo a travs de la conexin cuando las filas se solicit por primera vez. From this point on the client, not the SQL Server, will manage the recordset. Desde este punto en el cliente, no el de SQL Server, gestionar el conjunto de registros. Clustering Clustering Extensive documentation exists concerning the administration of Windows clustering in the Microsoft Windows 2000 operating system and failover clustering in Microsoft SQL Server. Existe una amplia documentacin sobre la administracin de clsteres de Windows en Microsoft Windows 2000 del sistema operativo y conmutacin por error de Microsoft SQL Server. For the purpose of troubleshooting, however, only a general understanding of these technologies is required. A los efectos de reparacin, sin embargo, slo una comprensin general de estas tecnologas se requiere. The primary aspect of the technologies that must be understood is the concept of the stand-alone restart. El aspecto principal de las tecnologas que se deben entender es el concepto de la reanudacin independiente. A cluster provides an automated failover system that, in essence, appears to the application layer as a series of restarts. Un clster proporciona un sistema de recuperacin automtica que, en esencia, parece que la capa de aplicacin como una serie de reinicios. While the failover is immediate and appears seamless, the transactions in memory fail forward or fail back much in the way that a SQL Server restart fails forward or fails back the transactions in its log (depending on completeness). Mientras que la conmutacin por error es inmediata y aparece sin fisuras, las transacciones en la memoria no hacia adelante o hacia atrs no tanto en la forma en que se reinicie SQL Server falla hacia adelante o hacia atrs no las transacciones en su registro (en funcin de la integridad). An application must be able to handle these restarts appropriately to gain the most benefit from the cluster. Una aplicacin debe ser capaz de manejar estas reinicia adecuadamente a sacar el mayor provecho del clster. Most Web-oriented applications have no problem within this environment. La mayora de las aplicaciones orientadas a

Internet no tienen ningn problema en este entorno. The restarts do not affect performance when a database is accessed frequently, state information is pushed down to the table level (to be retrieved by a subsequent call) or kept off the database altogether (in a cookie or URL string), or recordsets are either disconnected or maintained without server-side locking. Se reinicia el no afectar al rendimiento cuando se accede a una base de datos con frecuencia, la informacin de estado se empuja hacia abajo a la altura de la mesa (para ser recuperado por una llamada posterior) o se mantiene fuera de la base de datos en conjunto (en una cookie o una cadena URL), o conjuntos de registros o son desconecta o se mantuvo sin bloqueo del lado del servidor. If a restart were to occur at the exact moment a page was being rendered, and that page could not be rendered because of a lost database connection, the user could simply refresh the page to re-establish a connection to the new primary database server. Si un reinicio est presente en el momento exacto en que se fue una pgina representada, y que la pgina no puede ser prestado por una conexin de base de datos perdidos, el usuario podra simplemente actualizar la pgina para volver a establecer una conexin con el servidor de base de datos principal nueva. If your application has lost contact with the SQL Server and cannot re-establish it, however, your application may not be tolerating the restarts. Si su solicitud ha perdido el contacto con el servidor SQL Server y no puede volver a establecer, sin embargo, su aplicacin no se puede tolerar que se reinicie. If your application is managing a connection pool used to access the SQL Server, it may not be re-establishing connections once they become invalid. Si su aplicacin es la gestin de una piscina de conexin utilizado para acceder al servidor SQL, no se puede volver a establecer conexiones una vez que dejan de ser vlidas. The proper way to process the discovery of an invalid connection handle is to release it and establish a new connection (using the same virtual server name). La forma correcta de procesar el descubrimiento de un identificador de conexin que no es vlido para liberarlo y establecer una nueva conexin (con el mismo nombre de servidor virtual). The best way to determine if the cluster is the source of your problem is to remove the active node from the cluster, shut down the cluster service, and access the previously active node directly. La mejor manera de determinar si el grupo es el origen del problema es eliminar el nodo activo del clster, apague el servicio de clster, y el acceso del nodo anteriormente activo directamente. This will require that your application use a new server name for the SQL Server connection because the virtual server name will no longer be valid. Para ello ser necesario que la aplicacin utiliza un nuevo nombre de servidor para la conexin de SQL Server debido a que el nombre del servidor virtual ya no ser vlido. After configuring your application to use the actual server name of the previously active node, restart your application and check to see if the symptoms persist. Despus de configurar la aplicacin para utilizar el nombre real de servidor del nodo anteriormente activo, reiniciar la aplicacin y comprobar para ver si los sntomas persisten. If the symptoms have been alleviated, your problem involves the cluster, rather than the SQL element of your application. Si los sntomas se han aliviado, su problema est relacionado con el grupo, ms que el elemento de SQL de la aplicacin. Alta disponibilidad de los datos. Hoy en da muchas empresas requieren todos o algunos de sus datos crticos a ser de alta disponibilidad. Por ejemplo, una empresa que requiere "24x7" es la disponibilidad de un comerciante en lnea, cuyo producto de bases de datos y aplicaciones de venta en lnea deben estar disponibles en todo momento, de lo contrario las ventas (e ingresos) se han perdido. Otro ejemplo es un hospital, donde los registros informatizados de los pacientes deben estar disponibles en todo momento o de una vida humana se pueden perder. En un mundo perfecto, estos datos crticos seguirn estando disponibles y nada pondra en peligro su disponibilidad. En el mundo real, sin embargo, hay numerosos problemas que puede ocasionar que los datos no estn disponibles. Si la alta disponibilidad de los datos se requiere una estrategia preventiva debe ser formulada para mitigar las amenazas a la disponibilidad, comnmente se llama una "estrategia de alta disponibilidad". Estas estrategias llamar siempre a la aplicacin de mltiples tecnologas que ayudan a mantener la disponibilidad de datos-no existe una nica tecnologa de alta disponibilidad que pueden cumplir todos los requisitos. El Microsoft SQL Server 2008 sistema de gestin de datos incluye una variedad de tecnologas que pueden utilizarse para aumentar y / o mantener una alta disponibilidad de datos crticos. Este white paper introducir estas tecnologas y describir cundo y cmo deben ser utilizados. Cabe sealar aqu que la alta disponibilidad no es la misma que la recuperacin de desastres, aunque los dos trminos son a menudo (errneamente) intercambiados. La alta disponibilidad se trata de poner un conjunto de tecnologas en su lugar antes de que se produzca un error para evitar el fracaso de afectar a la disponibilidad de datos. La recuperacin de desastres se trata de tomar la accin despus de un fallo se ha producido la recuperacin de datos perdidos y que los datos disponibles de nuevo.

Antes de describir de SQL Server 2008 de alta disponibilidad de tecnologas y sus usos, el documento analizar las causas de la prdida de tiempo de inactividad y de datos, para permitir que la utilidad y aplicabilidad de las tecnologas que se muestran. Adems, el documento tambin se presentar directrices sobre cmo abordar la planificacin de alta disponibilidad, incluyendo cules son los requisitos para obtener y qu limitaciones a tener en cuenta antes de considerar las tecnologas. Finalmente, despus de las tecnologas se han descrito, las causas de la prdida de tiempo de inactividad y los datos sern revisados con una lista de las tecnologas que se pueden utilizar para mitigar cada causa. Muchas de las tecnologas discutidas slo estn disponibles en SQL Server 2008 Enterprise, mientras que otros tienen limitaciones en SQL Server 2008 Standard (o inferior). Una tabla resumen de apoyo para la edicin de las caractersticas descritas en el Libro Blanco se incluye en la seccin final. Adems, el SQL Server Libros en pantalla de tema "Caractersticas compatibles con las ediciones de SQL Server 2008" ( http://msdn.microsoft.com/enus/library/cc645993.aspx ) tiene una lista completa. Causas de la prdida de tiempo de inactividad y de datos El punto principal de una estrategia de alta disponibilidad es mantener los datos crticos como disponible como sea posible en el caso de un fallo o desastre. Fallas, por su propia naturaleza, no se han previsto los acontecimientos y lo que es difcil predecir cundo se producir una y en qu forma tomar. Tambin hay momentos en los actos programados puede ocurrir que afectan la disponibilidad de datos en caso de medidas preventivas no se han tomado. Esta seccin del libro blanco se discutirn los diversos eventos que pueden ocurrir que pueden causar tiempo de inactividad y la prdida de datos, pero no vamos a discutir las tecnologas de mitigacin. El tiempo de inactividad planificado (Planned Downtime) Hay tres actividades planificadas que pueden causar tiempo de inactividad-de realizar el mantenimiento de bases de datos, realizar operaciones por lotes, y realizar una actualizacin. Ninguno de estos resultados de actividades en la prdida de datos. Mantenimiento de base de datos puede causar tiempo de inactividad si se realiza una operacin que las necesidades para colocar un bloqueo en una tabla para un perodo de tiempo prolongado. Ejemplos de tales operaciones incluyen: La creacin o la reconstruccin de un ndice no agrupado (puede impedir que las modificaciones de la tabla) Crear, quitar, o la reconstruccin de un ndice agrupado (puede evitar que la tabla se lee y modificaciones) Realizar operaciones por lotes puede provocar tiempo de inactividad a travs de las cerraduras de bloqueo. Por ejemplo, considere una tabla que contiene las ventas del ao hasta la fecha para una empresa Al final de cada mes, los datos del mes ms antiguo debe ser eliminado. Si el nmero de filas siendo eliminados es suficientemente grande, una cerradura de bloqueo puede ser necesaria, lo que evita cambios a la tabla, mientras la operacin de eliminacin se est realizando. Un escenario similar se da cuando los datos se cargan en una tabla de otra fuente. Realizacin de una actualizacin siempre se incurre en una cierta cantidad de tiempo de inactividad, porque llega un punto en el que la aplicacin debe desconectarse de la base de datos que se est actualizando. Incluso con una tecnologa caliente de espera (como reflejo de base de datos sncrona), hay (el mejor) un tiempo muy corto entre la aplicacin y despus de desconectar la conexin a la copia redundante de la base de datos. En ambos casos, el tiempo de inactividad planificado se puede minimizar utilizando las tecnologas de SQL Server 2008. El tiempo de inactividad no planificado y la prdida de datos Un nmero an mayor de los fracasos existen que pueden causar tiempo de inactividad y la prdida de datos. stos se pueden agrupar en varias categoras amplias: Centro de Datos fallido: Esta categora de las fallas toma la lnea de datos todo el centro, haciendo que todas las copias locales redundantes de los datos intiles. Los ejemplos incluyen los desastres naturales, incendios, prdida de potencia, o no conectividad de red. Falla en el servidor: Esta categora de las fallas toma el servidor que aloja una o ms instancias de SQL Server sin conexin. Los ejemplos incluyen la oferta no poder, no de la CPU, la memoria no, o que operan el sistema se bloquea. Subsistema de errores de I / O: Esta categora de las fallas consiste en el hardware utilizado para almacenar fsicamente los datos y por lo tanto afecta directamente a los datos en s-por lo general, causando prdida de datos (que a su vez puede conducir a tiempos de inactividad para llevar a cabo la recuperacin de desastres). Los ejemplos incluyen un fallo del disco, un fallo de la controladora RAID, o un error de subsistema de E / S de software que causa la corrupcin. El error humano: Esta categora de fallas implica que alguien (un DBA, un usuario normal, o un programador de aplicaciones la introduccin de un error de software de aplicacin) cometiendo un error que los datos de daos, por lo general causa la prdida de datos (y potencialmente el tiempo de inactividad para recuperar los datos). Los ejemplos incluyen eliminar una tabla, eliminar o actualizar datos en una tabla sin especificar un predicado, el establecimiento de

una lnea de base de datos, o el cierre de una instancia de SQL Server. Human errors are usually accidental, but they can also be malicious. Los errores humanos son por lo general accidentales, sino que tambin puede ser malicioso. En todos los casos, la prdida de datos puede ser prevenida y el tiempo de inactividad se puede minimizar utilizando las tecnologas de SQL Server 2008. Planificacin de una estrategia de alta disponibilidad El xito de la estrategia de alta disponibilidad no se pueden planificar solamente desde el punto de vista tcnico, ya que los costos y los riesgos para el negocio de tiempo de inactividad y / o prdida de datos debe ser entendido. Del mismo modo, una estrategia no se puede conducir nicamente de los requerimientos del negocio sin una comprensin de las implicaciones tcnicas de dichos requisitos. La primera respuesta de muchas personas en la planificacin de una estrategia de alta disponibilidad es algo as como "poner en prctica conmutacin por error" sin ninguna consideracin de lo que la estrategia est tratando de lograr. A pesar de conmutacin por error es una tecnologa excelente, que no es apropiado en todas las situaciones, por lo que es importante elegir las tecnologas adecuadas en lugar de slo la primera que viene a la mente. (De nuevo, tenga en cuenta que una estrategia de xito siempre incluye mltiples tecnologas.) Ser capaz de elegir las tecnologas adecuadas significa entender no slo las caractersticas de las tecnologas, sino tambin la lista de prioridades de las necesidades, teniendo en cuenta las limitaciones que existen. Requisitos Los requisitos son una parte importante del diseo y fases de prueba. Como parte del proceso de diseo general, se identifican los requisitos. A continuacin, el diseo debe ser validado con los requisitos previos a la aplicacin, y, por ltimo, que debe ser utilizado para probar el diseo despus de que se lleva a cabo. El objetivo de los requisitos el proceso de recoleccin consiste en generar una lista priorizada de los datos que necesita ser protegido, y en qu nivel. Por ejemplo, el proceso debe tener en cuenta los componentes del sistema, la cantidad de tiempo y datos de la organizacin puede darse el lujo de perder, y el rendimiento. Es importante tener en cuenta el "ecosistema de aplicaciones" - los componentes de datos del sistema que debe ser protegido. Esto puede ser tan simple como un par de filas de una tabla o tan complicado como mltiples bases de datos en diferentes instancias de SQL Server 2008, ms apropiadas trabajos del Agente SQL Server, la configuracin de seguridad, procedimientos almacenados, y mucho ms. El ms complicado es el ecosistema de aplicaciones, ms difcil es asegurarse de que todo est altamente disponible. Por supuesto, es probable que el total de alta disponibilidad estrategia abarcar proteccin de los recursos mltiples con diferentes requisitos y contra diferentes causas de la prdida de tiempo de inactividad y de datos. Los dos requisitos principales alrededor de alta disponibilidad se conocen comnmente como RTO y RPO. RTO es sinnimo de Recovery Time Objective, y es el tiempo de inactividad mximo permitido en caso de avera. RPO es sinnimo de Punto de Recuperacin Objetivo y es el mximo permitido de prdida de datos cuando se produce un error. Aparte de que especifica un nmero, tambin es necesario contextualizar el nmero. Por ejemplo, al especificar que una base de datos debe estar disponible el 99,99% de las veces, es que el 99,99% de 24x7 o hay una ventana de mantenimiento permitida? El requisito de que a menudo se pasa por alto es el rendimiento carga de trabajo. Algunas de las tecnologas de alta disponibilidad puede afectar al rendimiento cuando se aplique la carga de trabajo (ya sea directamente o, cuando no est configurado correctamente). Adems, el rendimiento de la carga de trabajo despus de una conmutacin por error debe ser considerada-la carga de trabajo debe continuar con el mismo rendimiento que antes, o es una degradacin temporal aceptable? Limitaciones Limitacin de anlisis es crucial para prevenir la prdida de tiempo (y dinero) desde el diseo de una estrategia que no se puede aplicar (por ejemplo, la estrategia consiste en aadir un centro de datos, pero el presupuesto total es de 10.000 dlares EE.UU. al ao). Las limitaciones no son slo en trminos de presupuesto (a pesar de que suele ser la limitacin principal)-hay otras limitaciones no tcnicos, y una serie de limitaciones tcnicas a considerar. Las limitaciones no tcnicos incluyen: De alimentacin (para ms servidores, discos, y el acondicionamiento de aire asociada) El espacio (para ms servidores y equipos auxiliares) Aire acondicionado (para hacer frente a toda la produccin de calor extra del equipo en el original) Mano de obra (para instalar y mantener los sistemas y equipos agregado) Es hora de poner en prctica (el ms complejo sea el diseo, el tiempo que se tarda en poner en prctica)

Poltica y / o gestin de problemas (si varios equipos estn implicados) Las limitaciones tcnicas pueden afectar de manera ms directa que las tecnologas de SQL Server 2008 se puede optar por incorporar en la estrategia de alta disponibilidad. Algunas preguntas importantes figuran en esta lista, y las ramificaciones de las respuestas se explican con ms detalle a lo largo del resto del papel blanco. Qu modelo de recuperacin se est utilizando actualmente? Reflejo de la base de datos, envo de registros, y la capacidad de realizar copias de seguridad del registro de transacciones no estn disponibles si el modelo de recuperacin simple se usa. El cambio del modelo de recuperacin simple requiere que la administracin del registro de transacciones se lleva a cabo para prevenir el registro de transacciones cada vez ms fuera de control. Qu es el registro de transacciones tasa de generacin de la carga de trabajo? Esto afecta a la gestin del registro de transacciones en s, sobre todo porque algunas tecnologas requieren el modelo de recuperacin completa (por ejemplo, copia de base de datos. Si el modelo de recuperacin tiene que cambiar, muchas cosas pueden verse afectadas, tales como el tamao de las copias de seguridad de registro de transacciones o la capacidad para realizar ms rpido procesos por lotes y las operaciones de mantenimiento de ndices. De qu tamao son las transacciones promedio? Grande (y por lo general de larga duracin) las transacciones puede afectar significativamente la capacidad de llevar rpidamente una copia redundante de una lnea de base de datos despus de una conmutacin por error, ya que las transacciones no confirmadas se debe rodar hacia atrs para hacer la base de datos transaccional consistente. Esto puede evitar que el RTO de haberse alcanzado. Adems, si la duplicacin de base de datos sncrona est siendo considerada, la latencia de la red y su efecto sobre el tiempo de respuesta de transaccin debe ser tomada en cuenta. Cul es el ancho de banda y la latencia para el centro de datos remoto? Ancho de banda de los pobres y / o alta latencia afecta a la capacidad de implementar cualquier tecnologa que copia los datos, contenido de registro de transacciones, o copias de seguridad entre los centros de datos. Puede la aplicacin puede ser modificado? Con cualquier tecnologa de la redundancia, la aplicacin debe volver a conectar con el servidor (o tal vez otro servidor) despus de una conmutacin por error y, potencialmente, reiniciar una transaccin fallida. Estos son mucho ms fcil de lograr si la aplicacin puede ser alterado. Es la caracterstica FILESTREAM se requiere en la aplicacin? La caracterstica FILESTREAM no se puede utilizar en conjuncin con el reflejo de base de datos o las instantneas de bases de datos en SQL Server 2008. Tambin, dependiendo de cmo se utiliza FILESTREAM, puede causar problemas con copias de seguridad, envo de registros y la replicacin transaccional. Esto se explica con ms detalle en el libro blanco "de almacenamiento de FILESTREAM en SQL Server 2008" (disponible en http://msdn.microsoft.com/en-us/library/cc949109.aspx ). Hay limitaciones de hardware de hardware o de software limitaciones? (En trminos de CPU, memoria, subsistema I / O, o espacio en disco) pueden afectar el reflejo de base, multi-instancia conmutacin por error, el nivel de RAID, y el rendimiento carga de trabajo. La edicin disponible de SQL Server 2008, que afecta a las tecnologas de alta disponibilidad es capaz de ser utilizado (como se menciona en la Introduccin). Despus de que todos los requisitos y limitaciones se conocen, un anlisis realista es necesaria para asegurar que los requisitos originales se pueden cumplir o modificados para ajustarse a las limitaciones identificadas. Los compromisos puede implicar relajar un requisito o eliminar una limitacin, o simplemente el diseo de una estrategia que cumpla como muchos de los requisitos como sea posible con limitaciones definidas y documentadas. La administracin tambin deben ser conscientes de estas limitaciones y aprobar de los compromisos - presupuesto de otra manera adicional, el tiempo, o el anlisis puede ser necesario para alcanzar mayores niveles de disponibilidad. Independientemente del compromiso tiene, es esencial que todas las partes interesadas estn de acuerdo en el compromiso. Y de nuevo, tambin es esencial que la administracin es consciente de que los requisitos no pueden ser satisfechas y por qu antes se produce un error, para que nadie se sorprende. Evaluacin de la Tecnologa Despus de los requisitos de compromiso posterior a la se conoca entonces, y slo entonces, es el momento de evaluar las diferentes tecnologasNo tiene sentido evaluar y elegir las tecnologas basadas en un conjunto de fallas de los requisitos y luego tener que repetir el proceso despus de que los requisitos se entienden mejor. Del mismo modo, el xito no viene de recoger una tecnologa inadecuada y luego tratando de hacer que realice una funcin para la cual no fue diseado. Por ejemplo: El trasvase de registros no es adecuado para un diseo que requiere sin prdida de datos. Reflejo de la base de datos no es adecuado para un diseo que requiere de mltiples bases de datos de conmutacin por error de forma simultnea. Al evaluar las tecnologas, es importante tener en cuenta todos los aspectos de las tecnologas, incluyendo:

El costo monetario de la aplicacin de la tecnologa. La complejidad de la implementacin, configuracin y gestin de la tecnologa. La tecnologa de impacto en el rendimiento de la carga (si existe). El riesgo de prdida de datos si la tecnologa se utiliza. El potencial de tiempo de inactividad si la tecnologa se utiliza. Tecnologas SQL Server 2008 de alta disponibilidad SQL Server 2008 tiene un gran nmero de tecnologas para ayudar a mantener una alta disponibilidad. La forma ms sencilla de describir estos es comenzar con el registro y la recuperacin, copias de seguridad y de estrategia de respaldo de los componentes bsicos de cualquier estrategia de alta disponibilidad. Esto proporciona la base para explicar a continuacin las otras tecnologas que son aplicables si una nica instancia de SQL Server 2008 se puede utilizar, y luego las tecnologas de la instancia de varios, que la gente suele pensar que las tecnologas de alta disponibilidad de SQL Server. Registro y recuperacin Despus de los requisitos de compromiso posterior a la se conoca entonces, y slo entonces, es el momento de evaluar las diferentes tecnologas. No tiene sentido evaluar y elegir las tecnologas basadas en un conjunto de fallas de los requisitos y luego tener que repetir el proceso despus de que los requisitos se entienden mejor. Los mecanismos fundamentales que permiten a SQL Server 2008 (y todos los otros sistemas de base de datos relacional en la industria) para mantener los datos transaccionalmente consistentes son la explotacin forestal y la recuperacin. En esta seccin estos dos mecanismos se describirn brevemente. Slo son la base de casi todas las tecnologas de alta disponibilidad de SQL Server 2008. Para una ms en profundidad la descripcin de estos mecanismos, y una descripcin de la arquitectura y el comportamiento del registro de transacciones en s, ver el artculo de TechNet Magazine "La comprensin de registro y recuperacin en SQL Server" (disponible en http://technet.microsoft .com/enus/magazine/2009.02.logging.aspx ). Todos los cambios en una base de datos se registran como se hacen. Registro (logging) de un cambio significa que describe exactamente lo que ha cambiado en la base de datos y la forma en que fue cambiado en una estructura llamada una entrada de registro. Las entradas de registro se almacenan en el registro de transacciones de cada base de datos y debe estar disponible hasta que ya no son necesarios por SQL Server. Algunas de las razones comunes para las entradas de registro que se requieren son: Una copia de seguridad del registro de transacciones se debe tener. Una copia de seguridad completa o diferencial requiere el registro de transacciones. Reflejo de la base de datos an no ha enviado los registros a la base de datos espejo. La replicacin transaccional no ha cosechado los registros comprometidos. La captura de datos no ha cosechado los registros comprometidos. Las transacciones no confirmadas que existen se puede revertir. La razn principal de que la tala se lleva a cabo es para permitir la recuperacin de fallos a pasar (a veces llamado reiniciar su recuperacin o de recuperacin, simplemente). La recuperacin es el mecanismo por el cual se hace una base de datos transaccionalmente coherente. Se produce cuando una base de datos se pone en lnea despus de haber sido cerrado con las transacciones de activos en funcionamiento (por ejemplo, despus de una instancia de SQL Server 2008 por error a otro nodo de un clster de conmutacin por error). Tambin se requiere como parte de la restauracin de copias de seguridad (ya sea manualmente o como parte de trasvase de registros), replicacin de bases de ejecucin, y la creacin de una instantnea de base de datos. La recuperacin tiene dos fases-hacer y deshacer. La fase de rehacer asegura que todos los comprometidos (es decir, completa) Las operaciones se refleja en su totalidad la base de datos. Rehacer es generalmente ms rpido que deshacer (pero por supuesto que es muy variable La fase de deshacer asegura que todo no comprometido (es decir, activa pero no se complet) transacciones no se reflejan en la base de datos en modo alguno. En otras palabras, la base de datos se hace transaccionalmente coherente. Hay un caso especial de la funcin de deshacer-cuando una transaccin se revierte durante el curso de operaciones normales. En ese caso, todos los cambios realizados por la transaccin se invierten. Esto se conoce comnmente como hacer retroceder o abortar una transaccin. Una base de datos no puede ser puesto a disposicin hasta que la recuperacin se ha completado, con dos excepciones. En SQL Server 2008 Enterprise, la base de datos est disponible despus de la fase de rehacer ha completado durante la recuperacin de una cada normal o como parte de una conmutacin por error de creacin de reflejo de base de datos.

En estos dos casos, la base de datos se pone en lnea ms rpido y el tiempo de inactividad se reduce. Esta caracterstica se llama recuperacin rpida. Copia de seguridad, restauracin y Tecnologas Relacionadas Cualquier estrategia de alta disponibilidad debe incluir una estrategia de copia de seguridad completa. Incluso si la estrategia de alta disponibilidad que incluye tecnologas para proporcionar las copias redundantes de las bases de datos protegida, hay varias razones por las copias de seguridad tambin deben existir: El fallo puede afectar a las copias redundantes de las bases de datos, as como las copias primarios. En este caso, sin copias de seguridad para permitir la restauracin, los datos pueden ser perdidos totalmente. Puede ser posible para restaurar una pequea parte de las bases de datos, que puede ser ms aceptable que no ha terminado. Adems, puede ser posible para restaurar esa pequea porcin de la base de datos sin afectar a la porcin siendo utilizado por la aplicacin eficaz en la recuperacin de la insuficiencia con cero tiempo de inactividad. Un error que muchas personas hacen es planificar una estrategia de copia de seguridad sin considerar cuidadosamente las consecuencias de tener que realizar operaciones de restauracin. Puede parecer que la estrategia de copia de seguridad est funcionando correctamente, pero luego se produce un fracaso y resulta que las copias de seguridad existentes no permiten a las mejores operaciones de restauracin a realizar. Por ejemplo, una estrategia de copia de seguridad que incluye una base de datos de copia de seguridad semanal completa ms copias de seguridad del registro de transacciones cada 30 minutos a primera vista parece ser una buena estrategia. Esta situacin se ilustra en la Figura 1. Figura 1: La estrategia de copia de seguridad con base de datos completa y copias de seguridad del registro de transacciones Sin embargo, consideremos el caso en el que se produce un fallo justo antes de la siguiente copia de seguridad completa base de datos se debe a ocurrir. La secuencia de restauracin es la copia de seguridad anterior base de datos completa, adems de todas las copias de seguridad de registro de transacciones desde entonces (alrededor de 350!). Aunque esta estrategia permitira la recuperacin hasta el punto de la falla sin prdida de datos, se tratara de una cantidad significativa de tiempo de inactividad, ya que todas las transacciones desde la copia de seguridad completa efectivamente tendra que ser repetido (como parte de la restauracin del registro de transacciones copias de seguridad). Una estrategia de copia de seguridad mejor, lo que permitira la recuperacin sin prdida de datos y un tiempo de inactividad mucho menos, puede ser agregar en peridicos de copias de seguridad diferenciales de bases de datos. Una copia de seguridad diferencial contiene todos los componentes de la base de datos que han cambiado desde la copia de seguridad completa anterior. Esto es efectivamente la misma informacin contenida en todas las copias de seguridad del registro de transacciones desde la copia de seguridad completa anterior, pero es mucho ms rpido para restaurar. Esta estrategia se ilustra en la Figura 2. Figura 2: estrategia de copia de seguridad de la participacin de base de datos completa, la base de datos diferencial y copias de seguridad del registro de transacciones Si se produce un fallo justo antes de la copia de seguridad completa que viene, esta estrategia permite a la secuencia de restauracin para ser la copia de seguridad anterior base de datos completa, la copia de seguridad diferencial ms reciente, a continuacin, todas las copias de seguridad de registro de transacciones desde la copia de seguridad diferencial ms reciente. Se trata de copias de seguridad de un nmero significativamente menor de tener que restaurar. Por supuesto, si la tasa de cambio de la base de datos es muy alta, puede tener ms sentido para aplicar copias de seguridad completas de bases de datos ms frecuentes en su lugar. El punto de este ejemplo es que siempre es ms prudente planear una estrategia de restauracin de lo que es planificar una estrategia de copia de seguridad averiguar qu operaciones de restauracin se requieren, y luego dejar que la informacin dicta la estrategia de copia de seguridad. La mejor estrategia de copia de seguridad es el que mejor soporta las operaciones de restauracin de la organizacin requiere. Los detalles de cmo el trabajo de copia de seguridad y restaurar las operaciones estn fuera del alcance de este documento, pero no es un artculo de TechNet Magazine integral que entra en mayor profundidad: "Descripcin de SQL Server Copias de seguridad" desde el julio del 2009 (disponible en http://technet.microsoft.com/enus/magazine/2009.07.sqlbackup.aspx ) SQL Server 2008 Libros en pantalla tambin tiene una gran cantidad de informacin, comenzando con el tema "Copia de seguridad y restaurar bases de datos en SQL Server" (disponible en http://msdn.microsoft.com/en-

us/library/ms187048.aspx ) . Disponibilidad de base de datos parcial y restauracin por etapas en lnea SQL Server 2008 incluye muchas tecnologas que pueden reducir drsticamente el tiempo necesario para llevar a cabo una operacin de restauracin. El ms importante de estas tecnologas es la disponibilidad, la base de datos parcial capacidad de tener las partes de la lnea base de datos y continuar con la tramitacin en lnea con las partes. Esta capacidad se basa en tener las diversas porciones de los datos almacenados en grupos de archivos separados. Mientras el grupo de archivos principal y el registro de transacciones en lnea, la propia base de datos est en lnea y todos los grupos de archivos en lnea se pueden utilizar otras para el procesamiento normal. Por ejemplo, considere una base de datos de ventas de piezas de automviles que se compone de 5 series de datos de un conjunto de tablas que almacena los detalles de las distintas partes, y un conjunto de tablas para cada estado de EE.UU. en que opera la empresa. Si todas las tablas se almacenan en un solo grupo de archivos, y si ese grupo de archivos no est en lnea, la aplicacin de ventas completo tambin est fuera de lnea. Si las tablas de cada estado se almacenan en un grupo de archivos por separado-manual de particin de los datos por regin, la prdida de un solo grupo de archivos no puede tomar toda la aplicacin de ventas en lnea. La Figura 3 muestra este escenario. Figura 3: Un ejemplo de particionamiento manual Continuando con el ejemplo, si alguno de los grupos de archivos estatales son las ventas fuera de lnea, slo a ese estado se ven afectados. Slo si el grupo de archivos de piezas queda fuera de lnea que la aplicacin de ventas completa puede no estar disponible, dependiendo de la lgica de la aplicacin. El grupo de archivos que se daa puede ser restaurada mientras que el resto de la base de datos est siendo utilizado para la transformacin, utilizando una funcin denominada lnea restauracin por etapas. La segunda forma de dividir la base de datos es el uso de particionamiento horizontal de las tablas e ndices. En este caso, una nica tabla se puede dividir en particiones y cada particin almacena en un grupo de archivos separados (o grupos de particiones almacenadas en un solo grupo de archivos - por ejemplo todos los meses dentro de un grupo de archivos que contiene un ao, si la tabla contiene los datos de varios aos). Como un ejemplo de divisin horizontal, tenga en cuenta una base de datos de ventas con una tabla de ventas, con un contenido de todas las ventas del ltimo ao a la fecha. Si la tabla se almacena en un solo grupo de archivos, la aplicacin de ventas est en lnea si solo grupo de archivos no est en lnea. Sin embargo, si la tabla se divide en varios intervalos de datos (por ejemplo, un mes en cada rango), con cada rango de contenidos en una particin separada almacenada en su propio grupo de archivos, si un grupo de archivos no est en lnea, la aplicacin de ventas no pueden verse afectados en absoluto Si el grupo de archivos que contiene la particin del mes en curso no est en lnea, no hay nuevos pedidos pueden ser procesados, pero los mayores pedidos pueden ser examinados. Si uno o ms de los grupos de archivos que contienen las particiones anteriores al mes est en lnea, los nuevos pedidos se pueden procesar, y slo la capacidad de examinar los pedidos mayores se ve comprometida. En cualquier caso, la tabla de ventas en su conjunto sigue estando disponible para su procesamiento, con slo las partes no estn disponibles fuera de lnea. Al igual que con el particionado manual, las partes fuera de lnea de la tabla de ventas se pueden restaurar en lnea, mientras que las otras partes estn disponibles para el procesamiento, haciendo uso de la restauracin por etapas en lnea. Esta estrategia tambin permite un mejor control de cmo se asignan los recursos de hardware. Debido a que las ventas actuales son los ms crticos, estos se pueden colocar en las matrices de almacenamiento con mayor redundancia, mientras que los mayores datos de ventas se pueden colocar en las matrices de almacenamiento con menos redundancia de ahorro de dinero en general. Para obtener ms informacin sobre el uso de particiones, consulte el documento tcnico "tabla con particiones y estrategias de ndices con SQL Server 2008" ( http://msdn.microsoft.com/en-us/library/dd578580.aspx ) y los libros de SQL Server tema en lnea "Particionamiento" ( http://msdn.microsoft.com/en-us/library/ms178148.aspx ). Para obtener ms informacin acerca de la disponibilidad de bases de datos parciales, consulte el libro blanco "La disponibilidad de base de datos parcial" Para obtener ms informacin acerca de la restauracin por etapas en lnea, consulte el apartado "Realizar restauraciones por etapas" ( http://msdn.microsoft.com/en-us/library/ms177425.aspx ) en los Libros en pantalla de SQL Server. Como un ejemplo ms de la restauracin por etapas, tambin es posible restaurar una pgina de base de datos nica a partir de una copia de seguridad, siempre y cuando las copias de seguridad de registro de transacciones existen desde el momento de la copia de seguridad de ltima base de datos completa hasta el momento actual. La posibilidad de

restaurar slo esa pgina (o pginas) que estn daados, y hacerlo en lnea, reduce an ms el tiempo de inactividad necesario para recuperarse de un fracaso. Para obtener ms informacin acerca de una sola pgina restauracin, vea "Realizar restauraciones de pginas" ( http://msdn.microsoft.com/en-us/library/ms175168.aspx ) en los Libros en pantalla de SQL Server. La inicializacin instantnea de archivos Cuando una operacin de restauracin se lleva a cabo, la primera fase de la restauracin para crear los archivos de bases de datos estn restaurando (si es que no existen). La segunda fase es para SQL Server a cero-inicializar los datos de nueva creacin de base de datos los archivos con fines de seguridad. La operacin de restauracin no puede continuar hasta que el cero de inicializacin completa. Zero-inicializacin consiste en escribir secuencialmente bloques de ceros en los archivos de datos para sobrescribir el contenido previo de la zona del volumen NTFS. El tiempo requerido para esta inicializacin es por lo tanto, directamente proporcional al tamao del archivo de datos. Si la operacin de restauracin se est realizando como parte de la recuperacin de desastres, y la base de datos est en lnea mientras que la restauracin se est realizando, el proceso de inicializacin en cero podra impedir que el RTO de ser alcanzado. Por ejemplo, con un archivo de 1 terabyte de datos y una copia de seguridad que contiene 120 gigabytes (GB) de datos, todo el de 1 terabyte de archivos de datos se debe crear y cero inicializa-, aunque slo 120 GB de datos sern restaurados en el mismo. En todas las ediciones de SQL Server 2008, el proceso de inicializacin en cero se pueden omitir por completo usando una caracterstica llamada inicializacin instantnea de archivos. A travs de la concesin de un privilegio de Windows a la cuenta de servicio de SQL Server, la instancia de SQL Server crea el archivo de e instruye a NTFS que no tiene por qu ser igual a cero inicializa. Este cambio puede darse cuenta de una cada dramtica en el tiempo requerido para llevar a cabo una operacin de restauracin, si los archivos de datos de base de datos debe ser creado como parte de la restauracinEsto tambin puede ayudar durante la instalacin de bases de datos de reflejo, cuando la primera copia de seguridad completa base de datos se restaura. Una vez habilitado, esta caracterstica tambin permite la creacin regular y la expansin de los archivos de datos de base de datos para omitir el proceso de inicializacin en cero, proporcionando as mayores ganancias de disponibilidad. Cabe sealar que esta caracterstica no se aplica a los archivos de base de datos de registro de transaccin de registro de transacciones de archivos debe ser siempre cero inicializados para garantizar el correcto funcionamiento del proceso de recuperacin de fallos. Para obtener ms informacin sobre esta funcin, consulte la seccin "archivos de inicializacin de base de datos" ( http://msdn.microsoft.com/en-us/library/ms175935.aspx ) en los Libros en pantalla de SQL Server. Duplicados de copias de seguridad Siempre es recomendable tener varias copias de copias de seguridad, en caso de que una copia de seguridad se daa de alguna manera por un error de un subsistema de E / S. Por ejemplo, si una sola copia de una copia de seguridad del registro de transacciones daado existe y no hay otra copia de seguridad que abarca ese perodo de tiempo, la base de datos no se pueden recuperar ms all del perodo de tiempo de la copia de seguridad del registro de transacciones daado. SQL Server 2008 permite una copia de seguridad, que se refleja a un mximo de tres ubicaciones locales o remotas (para un total de cuatro copias de la copia de seguridad) en la misma instruccin Transact-SQL. Esto puede reducir la complejidad de un proceso de copia de varias fases y se puede asegurar que cuando una operacin de copia de seguridad completa, la copia redundante (o copias) que ya existen. Para obtener ms informacin, consulte "Uso de copia de seguridad reflejados Conjuntos de medios" (disponible en http://msdn.microsoft.com/en-us/library/ms175053.aspx ) en los Libros en pantalla de SQL Server. Las sumas de comprobacin (Checksums) de copia de seguridad Es prudente para garantizar que una copia de seguridad no contiene datos que ya estn daados y tambin para verificar peridicamente la integridad de las copias de seguridad existentes. Es mucho mejor para encontrar que una copia de seguridad est daado o contiene datos corruptos antes de que sea necesario durante la recuperacin de desastres, por lo que una nueva copia de seguridad se pueden tomar. La caracterstica de control de copia de seguridad aumenta la capacidad de SQL Server 2008 para realizar estas dos operaciones. Cuando las sumas de comprobacin de copia de seguridad estn activados, todas las pginas de datos de base de datos que contienen una suma de comprobacin de la pgina se validan con suma de comprobacin de que cuando se lee desde el archivo de datos de base de datos (s) antes de ser escrito en la copia de seguridad. Si la pgina se encuentra para ser corrupto, no la copia de seguridad por defecto. Adems, la caracterstica de comprobacin de copia

de seguridad calcula y almacena una suma de comprobacin independiente sobre la copia de seguridad completa. Ambos conjuntos de sumas de comprobacin puede ser validada despus de la copia de seguridad se ha completado con la instruccin RESTORE VERIFYONLY comando Transact-SQL. Este comando Vuelve a probar todas las sumas de comprobacin de pginas de datos dentro de la copia de seguridad y vuelve a calcular la suma de control sobre la copia de seguridad completa. If any corruptions have occurred to the backup, one of these tests will fail, giving an early indication that the backup integrity has been compromised. Si se produce cualquier corrupcin a la copia de seguridad, una de estas pruebas fallan, dar una primera indicacin de que la integridad de copia de seguridad ha sido comprometida. La compresin de copia de seguridad Una estrategia de copia de seguridad completa puede dar lugar a varios retos: Como reducir la capacidad de almacenamiento necesaria para almacenar mltiples copias de seguridad durante largos perodos de tiempo Como reducir el tiempo requerido para las operaciones de copia de seguridad (es decir, para reducir el tiempo durante el cual no es extra de E / S de carga) Como reducir el tiempo requerido para las operaciones de restauracin (es decir, para reducir el tiempo de inactividad total) La caracterstica de compresin de copia de seguridad de SQL Server 2008 ayuda a resolver todos estos problemas. Permite todo tipo de copias de seguridad para ser comprimido durante el proceso de copia de seguridad. La desventaja es que la compresin de copia de seguridad requiere de recursos adicionales de la CPU, como con cualquier tecnologa de compresin. Si este equilibrio es un problema, la funcin del regulador de recursos (explicado ms adelante) se pueden utilizar para limitar la cantidad de CPU que la operacin de copia de seguridad consume. Para obtener ms informacin, consulte "Cmo: Utilizar el regulador de recursos para limitar el uso de CPU mediante compresin de copia de seguridad (Transact-SQL)" ( http://msdn.microsoft.com/en-us/library/cc280384.aspx ) en SQL Server Books en lnea. El tamao de una copia de seguridad se reduce por cualquier relacin de compresin se puede lograr, depende de que los datos sean comprimidos. El tiempo requerido para la operacin de copia de seguridad se reduce debido a la cantidad de datos que debe ser escrito en el fichero de copia de seguridad (s) se reduce. El tiempo requerido para la operacin de restauracin se reduce debido a la cantidad de datos que deben leerse a partir del archivo de copia de seguridad (s) se reduce. En cuanto a la alta disponibilidad, el beneficio ms importante es la reduccin en el tiempo de restauracin, ya que esto se traduce en una reduccin en el tiempo de inactividad total durante la recuperacin de desastres. La compresin de copia de seguridad tambin obliga a las sumas de comprobacin de copia de seguridad que se calcula, lo que garantiza que las copias de seguridad no contienen datos corruptos. La compresin de copia de seguridad slo est disponible con SQL Server 2008 Enterprise, pero todas las ediciones de SQL Server 2008 se puede restaurar una copia de seguridad comprimida. Para obtener ms informacin, consulte "Compresin de copia de seguridad" ( http://msdn.microsoft.com/enus/library/bb964719.aspx ) en los Libros en pantalla de SQL Server y las siguientes notas: - "Ajustar el rendimiento de compresin de copia de seguridad en SQL Server 2008" - "Ajuste de la parte de copia de seguridad de compresin de 2" ( http://sqlcat.com:80/technicalnotes/archive/2009/02/16/tuning-backup-compression-part-2.aspx ) Otras tecnologas de instancia nica Las copias de seguridad (y las tecnologas relacionadas con el discutido anteriormente) son sin duda la parte ms importante de una estrategia de alta disponibilidad en caso de una nica instancia de SQL Server 2008 se pueden emplear. Sin embargo, existen otras tecnologas que pueden mejorar la capacidad de que el DBA para mantener la alta disponibilidad, stos sern discutidos en esta seccin. Operaciones en lnea Una base de datos no puede ser puesto en produccin y se la descart, si los cambios de datos, el mantenimiento es generalmente necesario. Las operaciones de base de datos ms comunes de mantenimiento incluyen: Realizar copias de seguridad. Proactivamente la comprobacin de la corrupcin del subsistema de E / S. Dirigindose a la fragmentacin del ndice. SQL Server 2008 permite todas estas operaciones se realizan en lnea, es decir, sin causar a largo plazo bloqueo de otras operaciones en la base de datos.

Las operaciones de copia de seguridad siempre han estado en lnea-no hay operaciones de copia de seguridad que hacen que cualquier bloqueo debido a bloqueos u obligar a una ventana de mantenimiento especfico. Es cierto que una operacin de copia de seguridad de las causas adicionales de E / S y los recursos de la CPU para ser utilizado, y en los sistemas con mucha carga, esta contencin de recursos podra ser confundido con el proceso de copia de seguridad de bloqueo de las operaciones normales. Como se discuti anteriormente, las operaciones de restauracin puede o no requieren acceso exclusivo a la base de datos, dependiendo de la restauracin que se realiza y la disposicin fsica (es decir, los archivos y grupos de archivos) de la base de datos. La deteccin de la corrupcin proactiva se hace mejor con una combinacin de sumas de comprobacin de pgina y los controles peridicos de consistencia mediante la instruccin Transact-SQL comando DBCC CHECKDB. Las sumas de comprobacin de pgina se habilitan de forma predeterminada para bases de datos creadas con SQL Server 2008 e incurrir en una sobrecarga de recursos insignificantes para calcular y verificar. El comando DBCC CHECKDB (y los comandos de derivados) ha sido una operacin en lnea desde SQL Server 2000. La fragmentacin del ndice (ya sea en un ndice agrupado o un ndice no agrupado) se pueden eliminar de dos formas: la reconstruccin de un ndice o la reorganizacin de un ndice. Hay pros y los contras de cada mtodo, los cuales estn fuera del alcance de este documento, pero siempre es posible hacer frente a ndice de fragmentacin en lnea con uno o ambos de estos mtodos, dependiendo del esquema de la tabla / ndice. ndice de la reorganizacin ha sido una operacin en lnea desde SQL Server 2000. SQL Server 2005 Enterprise Edition aade la capacidad de crear, eliminar, volver a moverse, y (re) los ndices de particin en lnea. Para obtener ms informacin acerca de las operaciones de ndice en lnea, consulte el libro blanco "de operaciones de ndice en lnea de SQL Server 2005" ( http://msdn.microsoft.com/en-us/library/cc966402.aspx ). Si la base de datos emplea particin (como se describi anteriormente), algunas de estas operaciones de mantenimiento puede realizarse en una sola particin (o grupo de archivos). Esto puede reducir considerablemente los recursos y el tiempo requerido para realizar la operacin. Por ejemplo, siguiendo con el ejemplo la tabla de ventas se describi anteriormente, la particin de la celebracin de las ventas del mes en curso puede ser el nico que requiere la eliminacin de fragmentacin (como las particiones que contienen datos de los meses anteriores puede ser de slo lectura), y as toda la tabla no tienen que ser procesados como parte de la operacin. Sin embargo, las reconstrucciones de ndice en lnea no se puede realizar a nivel de particin tan a menudo una arquitectura ms compleja se utiliza para manejar mejor la alta disponibilidad. Al nivel ms simple, esta arquitectura consiste en dos tablas de una celebracin de las actuales, de lectura / escritura de datos y una celebracin de las mayores, datos de slo lectura. La tabla de lectura / escritura tiene slo una nica particin y la tabla de slo lectura tiene varias particiones (por ejemplo, por mes). Utilizando esta arquitectura, reconstrucciones de ndice en lnea se puede realizar en los datos de lectura / escritura, ya que la operacin afecta a toda la tabla, no una sola particin de una tabla de particiones mltiples. Debido a que los datos de slo lectura no cambia, que no requiere el mantenimiento de ndices. Adems, esta arquitectura puede ser usado para simplificar las estrategias de indexacin. La tabla de lectura / escritura puede tener slo el nmero mnimo de ndices necesarios para apoyar las operaciones de OLTP, y la tabla de slo lectura pueden tener ndices que sea necesario para apoyar el anlisis de datos. Esto significa que las operaciones sobre los datos actuales no incurrir en la sobrecarga de tener que mantener los ndices que no son tiles para las operaciones de OLTP. Bajo esta arquitectura, las operaciones se pueden realizar en el conjunto de datos usando una caracterstica llamada vista con particiones-en esencia la realizacin de una operacin de unin de las dos tablas antes de la consulta. Mientras que las arquitecturas complejas, como la combinacin de la particin de tablas, con vistas con particiones estn fuera del alcance de este artculo, que describe por qu el mantenimiento de bases de datos siempre debe tenerse en cuenta al diseo de una base de datos de alta disponibilidad. Para obtener ms informacin sobre el mantenimiento de bases de datos, y las tecnologas descritas aqu, consulte el artculo de TechNet Magazine "Los mejores consejos para el mantenimiento de la base de datos eficaz" ( http://technet.microsoft.com/en-us/magazine/cc671165.aspx ). Las instantneas de bases de datos Una instantnea de base de datos es un punto en el tiempo, transaccionalmente consistente punto de vista de una base de datos. Despus de la instantnea de base de datos se crea a partir de la base de datos fuente, todas las pginas que

han cambiado en la base de datos de origen se copian de forma sincrnica en la instantnea de base de datos antes de que el cambio se refleja en la base de datos de origen (comnmente conocido como copy-on-write, pero tcnicamente copia antes de -escritura). La instantnea de base de datos slo contiene las copias de las pginas anterior al cambio de la base de datos de origen que han cambiado desde la instantnea de base de datos se ha creado. Estas pginas, adems de todas las pginas sin cambios en la base de datos fuente, ofrecer la imagen de un punto en el tiempo de la base de datos de origen. La instantnea de base de datos crece de acuerdo a la proporcin de la base de datos de origen que se cambia despus de la instantnea de base de datos se crea. Una operacin de lectura realizada en la instantnea de base de datos puede recuperar pginas de la instantnea de base de datos y la base de datos fuente para satisfacer la peticin de lectura. Figura 4, de SQL Server 2008 Libros en pantalla, muestra cmo las operaciones de lectura sobre el trabajo de instantneas de base de datos en funcin de las pginas que estn en la instantnea de base de datos o no. Ejemplo de las operaciones de lectura sobre una instantnea de base de datos Debido a que la instantnea de base de datos no contiene la base de datos de cdigo fuente completo, slo aquellas pginas que han cambiado desde la instantnea de base de datos fue creada, es excepcionalmente eficiente con el espacio. Slo se requiere espacio en disco tanto como se necesita para almacenar las pginas que contiene. Es un error comn que la instantnea de base de datos se reserva la mxima cantidad de espacio necesario, o los cheques que la mxima cantidad de espacio disponible al ser creado-no lo hace. Una instantnea de base de datos tiene un nmero de usos, entre ellos: Proporcionar un "punto-a-tiempo" copia de una base de datos para los informes de fin de ciclo econmico. Permitir que una base de datos reflejada para tener acceso para consultar o informar. Proporcionar una salvaguardia contra la prdida accidental de datos o otros errores por tener una copia que se puede utilizar para recuperar los datos borrados. Es el ltimo elemento de la lista que hace que una instantnea de base de una adicin til a una estrategia de alta disponibilidad. Por ejemplo, considere una base de datos de produccin donde los usuarios tienen acceso directo a la base de datos y son capaces de ejecutar comandos DDL. Si un usuario se caiga accidentalmente una mesa de crtica, como no poda ser recuperado? En la mayora de los casos, las copias de seguridad de base de datos se deben restaurar en otro lugar, a continuacin, los datos eliminados se deben recuperar desde all. Sin embargo, si una instantnea de base de datos existe desde antes de la hora de que la mesa se cae, la mesa sigue existiendo en la instantnea de base de datos, ya que proporciona una imagen inmutable de la base de datos en el momento en que se cre la instantnea de base de datos. La tabla eliminados se pueden recuperar de la instantnea de base de datos, o la base de datos completa se puede revertir con el tiempo se cre la instantnea de base de datos. Esta puede ser una forma mucho ms rpida para recuperar los datos y llevar la solicitud en lnea de nuevo que la restauracin de copias de seguridad, aunque con la posibilidad de que todos los cambios que se produjeron despus se cre la instantnea se han perdido. Como otro ejemplo, considere un DBA que est a punto de hacer algunos cambios complejos a una base de datos de produccin. Como medida de seguridad en contra de hacer un error, el DBA puede crear una instantnea de base de datos de la base de datos de produccin como una forma de poder deshacer todos los cambios sin tener que restaurar la base de datos completa de copias de seguridad. Instantneas de bases de datos puede aumentar la carga de trabajo de E / S para una instancia de SQL Server 2008, por lo que se debe tener cuidado al considerar cmo utilizarlos en un general de alta disponibilidad estrategia. Esto se aplica especialmente cuando una instantnea de base se utiliza en conjuncin con reflejo de base, porque el extra de E / S carga de trabajo puede hacer que el espejo de base de datos por detrs de los principales, dando lugar a tiempos de inactividad adicional durante una operacin de recuperacin de fallos. Tambin hay que sealar que las instantneas de bases de datos no son un sustituto para una estrategia de copia de seguridad completa. Si la base de datos fuente se daa o se desconecta, la instantnea de base de datos se ven igualmente afectados (a la inversa no es cierto, sin embargo). Debido a esta vinculacin, una instantnea de base de datos no puede ser usado para proteger contra la prdida de la base de datos completa, ni puede ser utilizado para realizar las operaciones ms especficas de recuperacin de desastres, tales como restauracin de las pginas. Para obtener ms informacin, vea "Instantneas de base de datos" ( http://msdn.microsoft.com/enus/library/ms175158.aspx ) en los Libros en pantalla de SQL Server. Agregar Memoria en caliente y CPU

En SQL Server 2008, puede agregar ms memoria y CPU para el servidor que aloja la instancia de SQL Server (ya sea fsica, como es lgico, o casi). A continuacin, puede configurar SQL Server 2008 en lnea para hacer uso de los nuevos recursos disponibles. Esto permite la carga de trabajo de base de datos para continuar por completo sin interrupciones, mientras que los ingresos de actualizacin de hardware. Para obtener ms informacin acerca de estas tecnologas y los requisitos de la arquitectura de Windows y de CPU, consulte el siguiente SQL Server 2008 temas de los Libros en lnea: - "Hot Agregar memoria" ( http://msdn.microsoft.com/en-us/library/ms175490.aspx ) - "CPU instalada en caliente" ( http://msdn.microsoft.com/en-us/library/bb964703.aspx ) El regulador de recursos SQL Server 2008 introduce una nueva tecnologa, el regulador de recursos, que le proporciona ms control sobre la memoria de ejecucin de consulta y uso de CPU, en una variedad de granularidad (por ejemplo, una conexin individual a SQL Server, o varios grupos de usuarios en su conjunto). El objetivo de la tecnologa es permitir a los escenarios, tales como: Garantizar un cierto nivel de recursos para cargas de trabajo crticas, manteniendo as el rendimiento dentro de los lmites prescritos. Limitar la cantidad de recursos que consultas ad-hoc pueden utilizar, evitando as que una consulta ad-hoc de utilizar todos los recursos en una instancia de SQL Server 2008 y, esencialmente, tomando la instancia fuera de lnea durante la duracin de la consulta. Limitar la cantidad de recursos que pueden utilizar las operaciones de mantenimiento, lo que impide una operacin de mantenimiento de larga duracin de la carga de trabajo de degradar el desempeo regular (por ejemplo, como se describi anteriormente con la compresin de copia de seguridad). En una estrategia de alta disponibilidad, el regulador de recursos es un tipo diferente de tecnologa preventiva, ya que no proporciona ninguna proteccin contra las causas usuales de tiempo de inactividad. En su lugar, permite al DBA para configurar SQL Server para proteger contra la contencin de recursos imprevisto que puede manifestarse a los usuarios como el tiempo de inactividad. Para obtener ms informacin, consulte "Administracin de las cargas de trabajo de SQL Server con el regulador de recursos" ( http://msdn.microsoft.com/en-us/library/bb933866.aspx ) y el Libro Blanco "Uso del regulador de recursos" Instancia Multi-Tecnologas La mayora de las estrategias de alta disponibilidad incluyen una tecnologa para mantener una copia redundante de la base de datos y / o hardware redundante en el que ejecutar la instancia de SQL Server SQL Server 2008 ofrece cuatro tecnologas para hacer esto, con diferentes caractersticas y habilidades. Log Shipping Log shipping es la forma ms sencilla de proporcionar una o ms copias redundantes de una sola base de datos. La base de datos principal en el servidor principal est respaldado y restaurado a uno o varios servidores secundarios. Copias de seguridad del registro de transacciones son luego repetidas ocasiones, de la base de datos principal, que viene (es decir, copiado de la red) al servidor secundario (s), y luego restaurarlo. De esta manera, las bases de datos secundarias estn siendo continuamente actualizada con los cambios de la base de datos principal a travs del registro de transacciones restaura. Un opcional de tercera instancia de SQL Server puede ser utilizado para monitorizar los servidores primario y secundario para asegurarse de que las copias de seguridad del registro de transacciones se estn tomando y restaurado regularmente. Hay varias opciones de configuracin, tales como la frecuencia con una copia de seguridad del registro de transacciones se toma en el servidor principal y con qu frecuencia las copias de seguridad de registro de transacciones se restauran en el servidor secundario (s). Un servidor de envo de registro secundario tambin puede ser configurado para tener un retraso en la carga (es decir, un perodo de tiempo de espera antes de restaurar una copia de seguridad del registro de transacciones). Esto es muy til para mantener una copia anterior de la base de datos para permitir la recuperacin de un error humano. Por ejemplo, si un servidor secundario de trasvase de registros va a tener una demora de carga de 8 horas y alguien borra accidentalmente una tabla de la base de datos principal dentro de este perodo, la tabla sigue existiendo en el servidor secundario y se puede recuperar. Un Log Shipping secundario tambin puede ser configurado para permitir acceso de slo lectura a la base de datos de registro de transacciones entre las operaciones de restauracin. Esto permite que la base de datos para ser utilizados con fines de informacin, maximizar el uso del servidor redundante, aunque con un poco de configuracin extra. El Log Shipping se puede considerar simplemente como copia de seguridad, copiar, restaurar, repita. Debido a que el trasvase de registros implica un proceso de varias etapas que no puede garantizar la prdida de datos cero, y no tiene

ningn mecanismo integrado para automatizar la conmutacin por error del servidor principal al servidor secundario, se denomina una solucin de reserva activo. El tiempo de inactividad del proceso de forjar una lnea de trasvase de registros del servidor secundario vara dependiendo de si hay ms copias de seguridad de registro de transacciones para restaurar y si la base de datos debe ser llevado a un punto tan reciente como sea posible. Adems, ni la deteccin de error del servidor principal, ni la conmutacin por error a un servidor secundario se detectan automticamente las aplicaciones cliente, la lgica de manera que el incremento se debe agregar el cliente o, posiblemente, en un nivel medio. El proceso de Log shipping se controla a travs de una serie de trabajos del Agente SQL Server que realizan las copias de seguridad, copias, restauraciones y monitoreo. La Figura 5 muestra una configuracin de trasvase de registros con la instancia del servidor principal, tres instancias del servidor secundario, y una instancia de servidor de supervisin. Figura 5: Ejemplo de registro de configuracin de trasvase de La figura ilustra los pasos realizados por copia de seguridad, copia y restauracin, de la siguiente manera: La instancia del servidor principal se ejecuta el registro de transacciones tarea de respaldo en la base de datos principal. Esta instancia a continuacin, coloca la copia de seguridad en un registro principal de inicio de sesin de copia de seguridad de archivos, que lo enva a la carpeta de copia de seguridad. En esta figura, la carpeta de copia de seguridad se encuentra en un directorio compartido, conocido como el. Cada una de las tres instancias del servidor secundario ejecuta su propio trabajo de copia para copiar el principal diario de copia de seguridad de archivos en su propia carpeta de destino local. Cada instancia del servidor secundario ejecuta su propio trabajo de restauracin para restaurar la copia de seguridad de registro de la carpeta de destino local a la base de datos secundaria local. Las instancias del servidor primario y secundario enviar su propia historia y el estado de la instancia del servidor de supervisin. Para ms informacin sobre Log Shipping, consulte el apartado "Log Shipping" ( http://msdn.microsoft.com/enus/library/bb895393.aspx ). La replicacin transaccional La rplica es un amplio conjunto de tecnologas que permiten a los datos a ser copiado y distribuido entre los servidores y luego sincronizados para mantener la consistencia. Las tecnologas de replicacin aplicables a una estrategia de alta disponibilidad son la replicacin transaccional y de su derivado, peer-to-peer de replicacin. La replicacin transaccional implica la creacin de una publicacin (datos de una o varias tablas de una base de datos) en una base de datos de la publicacin en una instancia de Publisher. El estado inicial de la publicacin se copia en una o ms instancias de abonado donde se hace la suscripcin en una base de datos de suscripcin. Este proceso de inicializacin se puede realizar utilizando una copia de seguridad de base de datos o el uso de una imagen (en el que la replicacin se trabaja hacia fuera lo que hay que copiar y copias de slo lo que se necesita, en lugar de crear una copia de seguridad completa). Despus de que las suscripciones se inicializan, las transacciones se replican desde el publicador a los suscriptores, mediante el proceso que se muestra en la Figura 6. Figura 6: El proceso de replicacin transaccional Committed transactions that affect the publication are read from the transaction log on the Publisher, stored in the distribution database on the Distributor, and then applied to the subscription database on the Subscriber(s). Las transacciones confirmadas que afectan a la publicacin se lee desde el registro de transacciones en el publicador, almacenada en la base de datos de distribucin del distribuidor, y luego se aplican a la base de datos de suscripciones del suscriptor (s). In this way the subscriptions are constantly being updated with changes that occur to the publication. De esta manera, las suscripciones se actualizan constantemente con los cambios que se producen en la publicacin. If the Publisher goes offline, transactional replication automatically restarts when it comes online again. Si el publicador de replicacin va en lnea, las transacciones se reinicia automticamente cuando se trata de nuevo en lnea. Also, if a Subscriber goes offline, the transactions that must be propagated to it are held in the distribution database until the Subscriber comes online again. Adems, si un suscriptor se queda sin conexin, las transacciones que deben ser propagados a ella se celebr en la base de datos de distribucin hasta que el suscriptor se conecte de nuevo. The intermediate storage of the transactions is necessary so that the transactions do not have to be stored in the transaction log of the publication database. El almacenamiento intermedio de las operaciones es necesario para que las transacciones no tienen que ser almacenados en el registro de transacciones de la base de datos de la publicacin.

Ideally the Distributor is a separate SQL Server instance running on a separate server, because this provides extra redundancy and offloads the distribution workload from either the Publisher or Subscriber instances. Lo ideal sera que el distribuidor es una instancia independiente de SQL Server que se ejecuta en un servidor independiente, ya que este proporciona redundancia adicional y descarga a la carga de trabajo de distribucin de el publicador o en casos de suscriptor. As with log shipping, replication does not provide automatic detection of a Publisher failure or automatic failover to a Subscriber, so it is also a warm standby solution. Al igual que con el trasvase de registros, la replicacin no proporciona deteccin automtica de un fallo de Autor o la conmutacin automtica por error a un suscriptor, por lo que tambin es una solucin de reserva activo. Additionally, there is latency between a transaction occurring on the Publisher and being propagated to the Subscribers, so data loss is possible at the time of a failure. Adems, hay una latencia entre una transaccin que se realice en el publicador y se propaga a los suscriptores, por lo que la prdida de datos es posible en el momento de un fracaso. Finally, transactional replication only protects the data in the publicationit cannot be used to protect an entire database or group of databases. Finalmente, la replicacin transaccional slo protege los datos en la publicacin-no puede ser utilizado para proteger una base de datos completa o grupo de bases de datos. Peer-to-peer transactional replication allows multiple servers (known as nodes) to act as Publishers and Subscribers for the same data. Peer-to-peer replicacin transaccional permite que varios servidores (conocida como nodos) para que acte como publicadores y suscriptores de los mismos datos. A change made on one node in the peer-to-peer topology is propagated to all other nodes, with all nodes acting as Publisher, Subscriber, and (usually) Distributor. Un cambio realizado en un nodo en la topologa peer-to-peer se propaga a todos los dems nodos, con todos los nodos que actan como Publisher, el suscriptor, y el distribuidor (en general). In peer-to-peer replication, the data is highly available, and solutions are easily scaled out for query workloads. En la replicacin peer-to-peer, los datos de alta disponibilidad, y las soluciones son fcilmente escalables a cabo para cargas de trabajo de la consulta. An example peer-to-peer transactional replication topology is shown in Figure 7. Un peer-to-peer ejemplo de topologa de replicacin transaccional se muestra en la Figura 7. Figure 7: Example peer-to-peer transactional replication topology Figura 7: Ejemplo de peer-to-peer topologa de replicacin transaccional The preceding illustration shows three participating databases that provide data for a worldwide software support organization, with offices in Los Angeles, London, and Taipei. La ilustracin anterior muestra tres bases de datos participantes que proporcionan datos para una organizacin de soporte de software en todo el mundo, con oficinas en Los ngeles, Londres y Taipei. The support engineers at each office take customer calls and enter and update information about each customer call. Los ingenieros de soporte tcnico de cada oficina reciben llamadas de los clientes e introducir y actualizar la informacin sobre cada llamada del cliente. The time zones for the three offices are eight hours apart, so there is no overlap in the workday. Las zonas horarias de las tres oficinas de ocho horas de diferencia, por lo que no hay solapamiento en la jornada de trabajo. As the Taipei office closes, the London office is opening for the day. Como la oficina de Taipei cierra, la oficina de Londres se est abriendo para el da. If a call is still in progress as one office is closing, the call is transferred to a representative at the next office to open. Si hay una llamada en curso cuando se cierra una oficina, la llamada se transfiere a un representante en la oficina de al lado para abrir. Each location has a database and an application server, which are used by the support engineers as they enter and update information about customer calls. Cada lugar tiene una base de datos y un servidor de aplicaciones, que son utilizados por los ingenieros de soporte a medida que entran y actualizar la informacin sobre las llamadas de los clientes. The topology is partitioned by time. La topologa se divide por el tiempo. Therefore, updates occur only at the node that is currently open for business, and then the updates flow to the other participating databases. Por lo tanto, las actualizaciones slo se producen en el nodo que est actualmente abierto para los negocios, a continuacin, el flujo de cambios a las bases de datos participantes. This topology provides the following benefits: Esta topologa proporciona las siguientes ventajas: Independence without isolation: Each office can insert, update, or delete data independently but can also share the data because it is replicated to all other participating databases. Independencia sin aislamiento: cada oficina puede insertar, actualizar o borrar datos de forma independiente, pero tambin puede compartir los datos, ya que se replica en todas las otras bases de datos participantes. Higher availability in case of failure or to allow maintenance at one or more of the participating databases. Mayor disponibilidad en caso de fallo o para permitir el mantenimiento en una o ms de las bases de datos participantes. Peer-to-peer transactional replication does not have automatic detection or automatic failover, so the various nodes in

the topology provide warm standby copies of the published data. Peer-to-peer replicacin transaccional no tiene deteccin automtica o la conmutacin automtica por error, por lo que los distintos nodos de la topologa de ofrecer clidos copias de reserva de los datos publicados. Additionally, peer-to-peer transactional replication has the same latency issues as regular transactional replication. Adems, peer-to-peer replicacin transaccional tiene los mismos problemas de latencia como la rplica transaccional habitual. As with log shipping, a failover is not be detected by client applications. Al igual que con el trasvase de registros, una conmutacin por error no se puede detectar por las aplicaciones cliente. This means extra logic must be added to the client or possibly in a mid tier to handle their redirection. Esto significa lgica adicional debe ser aadido al cliente o posiblemente en un nivel medio para manejar su redireccin. This logic must be added separately. Esta lgica se debe aadir por separado. For more information, see Transactional Replication Overview ( http://msdn.microsoft.com/enus/library/ms151176.aspx ) and Peer-to-Peer Transactional Replication ( http://msdn.microsoft.com/enus/library/ms151196.aspx ). Para obtener ms informacin, consulte la seccin "Informacin general sobre la replicacin transaccional" ( http://msdn.microsoft.com/en-us/library/ms151176.aspx ) y "Peer-to-Peer replicacin transaccional" ( http://msdn.microsoft. com/en-us/library/ms151196.aspx ). Database Mirroring Database Mirroring Database mirroring provides a redundant copy of a single database that is automatically updated with changes. Duplicacin de bases de datos proporciona una copia redundante de una sola base de datos que se actualiza automticamente con los cambios. Database mirroring works by sending transaction log records from the main database (called the principal ) to the redundant database (called the mirror ). Duplicacin de bases de datos funciona mediante el envo de registros de transacciones de la base de datos principal (llamada principal) a la base de datos redundantes (llamado el espejo). The transaction log records are then replayed on the mirror database continuously (that is, the mirror database is constantly running recovery using the transaction log records sent from the principal). Los registros de transacciones se repite a continuacin en la base de datos reflejada de forma continua (es decir, la base de datos espejo est en constante funcionamiento de recuperacin con los registros de transacciones enviadas desde la capital). The principal and mirror databases are usually hosted on separate SQL Server 2008 instances (called the principal server and mirror server ) on separate physical servers, and often in separate data centers. El director y bases de datos espejo normalmente se hospedan en separada de SQL Server 2008 casos (llamado el servidor principal y un servidor espejo) en servidores fsicos separados, y con frecuencia en centros de datos independientes. This basic configuration is shown in Figure 8. Esta configuracin bsica se muestra en la Figura 8. Figure 8: Basic database mirroring configuration Figura 8: Configuracin bsica de creacin de reflejo de base de datos Application connections are only accepted to the principal databaseconnections attempted to the mirror database may be redirected to the principal database using client redirection, which is explained later in this section. Conexiones de aplicaciones slo se aceptan las principales bases de datos de los intentos de conexin a la base de datos reflejada puede ser redirigido a la base de datos principal utilizando la redireccin de cliente, que se explica ms adelante en esta seccin. A mirror database can be used for querying, however, through the use of a database snapshot. Una base de datos espejo se puede utilizar para consultar, sin embargo, mediante el uso de una instantnea de base. Additionally, database mirroring supports only a single mirror. Adems, copia de la base de datos slo es compatible con un solo espejo. Database mirroring is different from log shipping or transactional replication in the following ways: Reflejo de la base de datos es diferente de trasvase de registros o la rplica transaccional de las siguientes maneras: Failures are automatically detected. Los fallos se detectan automticamente. Failovers can be made automatic. Conmutaciones por error se puede hacer automtico. If it is configured to support automatic failure detection and failover, database mirroring provides a hot standby solution. Si se configura para apoyar la deteccin de fallos y conmutacin por error automtica, copia de la base de datos proporciona una solucin de reserva en caliente. There are two modes of database mirroringsynchronous and asynchronous. Hay dos modos de creacin de reflejo de la base de datos sncrona y asncrona. With synchronous mirroring, transactions cannot commit on the principal until all transaction log records have been successfully copied to the mirror (but not necessarily replayed yet). Con mirroring sncrono, las transacciones no puede comprometerse en la entidad hasta que todos los registros de transacciones se han copiado correctamente en el espejo (pero no necesariamente reproducen todava). This guarantees that if a failure occurs on the principal and the principal and mirror are synchronized, committed transactions are present in the mirror

when it comes onlinein other words, it is possible to achieve zero data loss. Esto garantiza que si se produce un fallo sobre el principal y el director y el espejo estn sincronizadas, las transacciones confirmadas se encuentran presentes en el espejo cuando se trata de lnea, en otras palabras, es posible lograr la prdida de datos cero. Synchronous mirroring can be configured to provide automatic failover, through the use of a third SQL Server 2008 instance called the witness server (usually hosted on another physically separate server). Mirroring sncrono puede ser configurado para proporcionar conmutacin automtica por error, a travs de la utilizacin de un tercer servidor de SQL Server 2008 instancia llamada el servidor testigo (por lo general alojado en otro servidor separado fsicamente). The sole purpose of the witness is to agree (or not) with the mirror that the principal cannot be contacted. El nico propsito de que el testigo es estar de acuerdo (o no) con el espejo en el que el director no puede ser contactado. If the witness and mirror agree, the mirror can initiate failover automatically. Si el testigo y espejo de acuerdo, el espejo puede iniciar la conmutacin por error automtica. If synchronous mirroring is configured with a witness, the operating mode is known as high-availability mode and provides a hot standby solution. Si mirroring sncrono est configurado con un testigo, el modo de operacin que se conoce como el modo de alta disponibilidad y proporciona una solucin de reserva en caliente. When no witness is defined, the operating mode is known as high-safety mode, which provides a warm standby solution. Cuando ningn testigo se define, el modo de funcionamiento se conoce como modo de alta seguridad, que proporciona una solucin de reserva caliente. The high-availability configuration is shown in Figure 9. La configuracin de alta disponibilidad se muestra en la Figura 9. Figure 9: High-availability configuration using a witness server Figura 9: configuracin de alta disponibilidad con un servidor de testigo With asynchronous mirroring there is no such guarantee, because transactions can commit on the principal without having to wait for database mirroring to copy all the transaction's log records. Con reflejos asincrnicos no hay tal garanta, porque las transacciones pueden cometer en el principio sin tener que esperar a que el reflejo de base para copiar todos los registros de la transaccin. This configuration can offer higher performance because transactions do not have to wait, and it is often used when the principal and mirror servers are separated by large distances (that is, implying a large network latency and possibly lower network bandwidth). Esta configuracin puede ofrecer un mayor rendimiento ya que las transacciones no tienen que esperar, y se utiliza a menudo cuando el principal y los servidores espejo estn separados por grandes distancias (es decir, lo que implica una latencia de red de gran ancho de banda y, posiblemente, ms baja de la red). Consequently, this operating mode is also known as high-performance mode and provides a warm standby solution. En consecuencia, este modo de funcionamiento tambin se conoce como modo de alto rendimiento y proporciona una solucin de reserva caliente. If a failure occurs on the principal, a mirroring failover occurs, either manually (in the high-performance and high-safety modes) or automatically (only in the high-availability mode). Si se produce un fallo en el principio, una conmutacin por error duplicado se produce, ya sea manualmente (en los modos de alto rendimiento y alta seguridad) o automticamente (slo en el modo de alta disponibilidad). The mirror database is brought online after all the transaction log records have been replayed (that is, after recovery has completed). La base de datos espejo se pone en lnea despus de todos los registros de transacciones que se hayan reproducido (es decir, despus de la recuperacin se ha completado). The mirror becomes the new principal and applications can reconnect to it. El espejo se convierte en el nuevo director y las aplicaciones pueden conectarse a ella. The amount of downtime required depends on how long it takes for the failure to be detected and how much transaction log needs to be replayed before the mirror database can be brought online. La cantidad de tiempo de inactividad necesario depende de cunto tiempo le toma a la falta de ser detectados y la cantidad de registro de transacciones debe ser repetido antes de que la base de datos reflejada puede poner en lnea. Any transactions that are in-flight on the principal when a failure occurs are lost, as are any transactions that have committed on the principal but for which all transaction log records have not yet been sent to the mirror. Todas las transacciones que estn en vuelo en el principio, cuando se produce un error se pierde, al igual que todas las transacciones que se han comprometido en el principio, sino para que todos los registros de transacciones an no han sido enviados al espejo. The amount of data loss depends on the operating mode configuredthe configuration that comes closest to guaranteeing zero data-loss is high-safety or high-availability mode where the mirror database is synchronized with the principal (that is, completely up-to-date). La cantidad de prdida de datos depende del modo de funcionamiento configurado, la configuracin que ms se acerca a cero, garantizando la prdida de datos es de alta seguridad o alta disponibilidad modo en el que se sincroniza la base de datos reflejada con el director (es decir, totalmente al- fecha). If another configuration is chosen, the amount of data loss depends on how much transaction log

has not yet been copied from the principal to the mirror. Si hay otra configuracin que se elija, la cantidad de prdida de datos depende de la cantidad de registro de transacciones an no se ha copiado de la directora para el espejo. After a failover, the application must reconnect to the database, but the application does not know whether the (old) principal server or the mirror server is now the principal. Despus de una conmutacin por error, la aplicacin debe volver a conectarse a la base de datos, pero la aplicacin no sabe si el servidor principal (de edad) o el servidor espejo es ahora el director. There are two ways for the application to connect, using implicit or explicit client redirection. Hay dos formas para la aplicacin de conectarse, usar la redireccin del cliente implcita o explcita. With explicit client redirection, the application specifies both mirroring partners in the connection string, so no matter which is the principal, the connection should succeed. Con la redireccin de cliente explcita, la aplicacin especifica ambas partes reflejan en la cadena de conexin, as que no importa que es la principal, la conexin debe tener xito. With implicit client redirection, only one partner is specified, but if it is the current mirror, it redirects the connection to the current principal. Con la redireccin de cliente implcita, slo una pareja est especificado, pero si es el espejo de corriente, redirecciona la conexin a la entidad de seguridad actual. However, if the specified partner is not available to perform the redirection (for example, it is completely offline), the connection fails. Sin embargo, si el socio especificado no est disponible para llevar a cabo la redireccin (por ejemplo, es completamente fuera de lnea), la conexin falla. For this reason, we recommend always using explicit client redirection. Por esta razn, se recomienda siempre usar la redireccin de cliente explcito. SQL Server 2008 adds two important features to database mirroring: automatic page repair and log stream compression. SQL Server 2008 aade dos caractersticas importantes a la creacin de reflejo de base de datos: reparacin de pgina automtica y la compresin de secuencia de registro. Automatic page repair makes use of the fact that, when synchronized, the mirror database is an exact physical copy of the principal database. Reparacin de pgina automtica hace uso del hecho de que, cuando se sincroniza, la base de datos espejo es una copia exacta fsica de la base de datos principal. If a corrupt page is found in the principal database (for instance, a page checksum failure), the database mirroring system attempts to obtain the page image from the mirror database and then repair the page corruption. Si una pgina corrupto se encuentra en la base de datos principal (por ejemplo, un fallo de suma de comprobacin de pgina), el sistema de replicacin de bases de los intentos de obtener la imagen de pgina a partir de la base de datos espejo y luego reparar la corrupcin pgina. The mechanism also works in the other direction if a corrupt page is found on the mirror database while transaction log records are being replayed. El mecanismo tambin funciona en sentido contrario, si una pgina corrupta se encuentra en la base de datos reflejada, mientras que los registros de transacciones de registro se est reproduciendo. This mechanism can remove the need for immediate downtime as soon as a corruption is discovered, giving the system administrator time to take corrective action. Este mecanismo puede eliminar la necesidad de que el tiempo de inactividad de inmediato tan pronto como se descubre la corrupcin, dando tiempo al administrador del sistema para tomar medidas correctivas. It should be noted that this feature it not a substitute for recovering from corruption, just a temporary mitigation. Cabe sealar que esta caracterstica no un sustituto para la recuperacin de la corrupcin, slo una mitigacin temporal. Log stream compression enables more transaction log to be sent through the same network link by compressing the log records before transmission to the mirror. Conectarse flujo de compresin permite una mayor registro de transacciones que se envan a travs del mismo enlace de red mediante la compresin de los registros antes de la transmisin hacia el espejo. This can reduce the performance penalty of using synchronous database mirroring and also reduce the amount of unsent transaction log when using asynchronous database mirroring (thus reducing data loss in the event of a failure). Esto puede reducir la penalizacin en el rendimiento de la utilizacin de creacin de reflejo de base de datos sincrnica y tambin reducir la cantidad de registro de transacciones no enviado cuando se utiliza el reflejo de base de datos asincrnica (reduciendo as la prdida de datos en el caso de una falla). Log stream compression requires extra CPU resources on the principal and mirror servers to perform the compression and decompression. Conectarse flujo de compresin requiere de recursos adicionales de la CPU en los servidores principal y reflejado para llevar a cabo la compresin y descompresin. There may also be more CPU required on the principal because a higher transaction workload can be accommodated. Tambin puede haber ms CPU que se requiere en el principio porque una carga de trabajo superior transaccin pueden ser acomodados. This feature is enabled by default, but it can be disabled if CPU resources are not available or if the compression ratio does not make the trade-off worthwhile. Esta funcin est habilitada por defecto, pero puede ser desactivada si los recursos de CPU no estn disponibles o si la relacin de compresin no merece la pena hacer el trade-off. For more information, see Database Mirroring ( http://msdn.microsoft.com/en-us/library/bb934127.aspx ) and in the

following white papers: Para obtener ms informacin, consulte "Database Mirroring" ( http://msdn.microsoft.com/enus/library/bb934127.aspx ) y en las siguientes notas: - Database Mirroring in SQL Server 2005 ( http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspx ) - "Database Mirroring en SQL Server 2005" ( http://www.microsoft.com/technet/prodtechnol/sql/2005/dbmirror.mspx ) - Database Mirroring Best Practices and Performance Considerations ( http://www.microsoft.com/technet/prodtechnol/sql/2005/technologies/dbm_best_pract.mspx ) - "Base de datos de reflejo de las mejores prcticas y consideraciones de rendimiento" ( http://www.microsoft.com/technet/prodtechnol/sql/2005/technologies/dbm_best_pract.mspx ) - Alerting on Database Mirroring Events ( http://www.microsoft.com/technet/prodtechnol/sql/2005/mirroringevents.mspx ) - "Alerta de eventos Database Mirroring" ( http://www.microsoft.com/technet/prodtechnol/sql/2005/mirroringevents.mspx ) Failover Clustering Failover Clustering Failover clustering is the only technology that allows an entire SQL Server 2008 instance to be made highly available either at the local data center or possibly at a remote site or data center. Un clster de conmutacin es la nica tecnologa que permite una completa de SQL Server 2008 instancia que se va de alta disponibilidad - ya sea en el centro de datos local o, posiblemente, en un centro remoto de sitio o de datos. A SQL Server failover cluster is implemented on a Windows Server failover cluster. Un clster de SQL Server de conmutacin por error se lleva a cabo en un clster de conmutacin por error de Windows Server. A failover cluster usually consists of two or more cluster nodes (up to 16 nodes are possible with Windows Server 2008 and SQL Server 2008 Enterprise), running one or more instances of SQL Server 2008. Un clster de conmutacin por error por lo general consiste de dos o ms nodos del clster (hasta 16 nodos son posibles con Windows Server 2008 y SQL Server 2008 Enterprise), la ejecucin de una o varias instancias de SQL Server 2008. A failover cluster can be a single-instance cluster with a single SQL Server 2008 instance running on one of the cluster nodes, or a multi-instance cluster with multiple SQL Server 2008 instances running on multiple cluster nodes. Un clster de conmutacin por error puede ser un cmulo de instancia nica con un nico servidor de SQL Server 2008 que se ejecuta en uno de los nodos del clster, o un grupo multi-instancia con varias instancias de SQL Server 2008 que se ejecutan en varios nodos del clster. (These used to be called active-passive and active-active, respectively.) (Estos se llamaba activo-pasivo y activoactivo, respectivamente.) The failover cluster presents a virtual name and virtual IP to the networkthe application does not know which cluster node is hosting the SQL Server 2008 instance to which it is connecting. El clster de conmutacin por error presenta un nombre virtual e IP virtual a la red, la aplicacin no sabe qu nodo de clster que se aloja el SQL Server 2008 instancia a la que se est conectando. Multiple SQL Server 2008 instances can be hosted by the failover clustera single default instance and multiple named instances. Mltiples instancias de SQL Server 2008 puede ser organizada por el error de clster-una nica instancia predeterminada y mltiples instancias con nombre. After an instance fails over to another cluster node and the application reconnects, the connection is transparently routed to the new cluster node that hosts the instance. Despus de una instancia por error a otro nodo del clster y se vuelve a conectar a la aplicacin, la conexin es transparente dirigidas al nuevo nodo del clster que aloja la instancia. Con un clster de una sola instancia, la instancia de SQL Server 2008 se ejecuta en uno de los nodos del clster. Si el nodo cae, el fallo se detecta automticamente y la instancia de SQL Server 2008 se reinicia automticamente en el nodo de clster restante. Con un grupo de varias instancias, una o ms instancias se ejecutan en cada nodo del clster (posiblemente con un nodo de repuesto en marcha sin instancias en ejecucin). Cuando se bloquea un nodo, el fallo se detecta automticamente y sus instancias organizadas se reinician automticamente en otros nodos (en un orden configurable) en el clster. En ambos casos, la cantidad de tiempo antes de que las bases de datos estn disponibles depende de la recuperacin de una cada a largo tarda en completarse, tal como se describe anteriormente. Cuando se produce un error, todas las transacciones activas se deshacen, pero las transacciones confirmadas se garantiza que existe siempre y cuando no se produjeron daos a la base de datos propios archivos. A pesar de que failover clustering proporciona redundancia de servidor excelente, no protege contra la prdida de datos si los discos fsicos estn daados, porque no hay un solo ejemplar, en la residencia de cada una de las bases de datos de una instancia. Tecnologas adicionales deben ser utilizadas para asegurar la redundancia de los datos y el servidor, como se discute en la seccin siguiente. Para obtener ms informacin, consulte el libro blanco "de SQL Server 2008 Failover Clustering" and Getting Started

with SQL Server 2008 Failover Clustering (available at http://msdn.microsoft.com/en-us/library/ms189134.aspx ) in SQL Server Books Online. y "Primeros pasos con el clster de SQL Server 2008 Failover" (disponible en http://msdn.microsoft.com/en-us/library/ms189134.aspx ) en los Libros en pantalla de SQL Server. Multi-Instance Technology Characteristics Instancia Multi-caractersticas de la tecnologa The short descriptions of these technologies above show that the technologies have varying characteristics and abilities, which make each of them suitable for some scenarios but not others. Las breves descripciones de estas tecnologas anteriores muestran que las tecnologas tienen diferentes caractersticas y habilidades, que hacen que cada uno de ellos adecuado para algunas situaciones pero no en otros. Table 1 below shows these characteristics in a way that allows easy comparison of the technologies. Tabla 1 siguiente muestra estas caractersticas en un modo que permite una fcil comparacin de las tecnologas. Technology Tecnologa | Zero data loss Cero prdida de datos | Instance Redundancy Instancia de redundancia | Database Redundancy Base de datos de redundancia | Table Redundancy Tabla de redundancia | Auto Failover Auto de conmutacin por error | Readable Copy Copia legible | Multiple Copies Varias copias | Writable Copy Copia de escritura de | Log shipping El trasvase de registros | | | | | | ** ** | | | DB Mirroring Sync Reflejo de la base de datos - Sync | | | | | | *** *** | | | DB Mirroring - Async Reflejo de la base de datos - Async | | | | | | *** *** | | | Failover Cluster Conmutacin por error de clster | * * | | | | | | | | Transactional Replication La replicacin transaccional | | | | | | | | | Peer-to-peer Replication Peer-to-peer de replicacin | | | | | | | | | Tabla 1: caractersticas de la tecnologa SQL Server 2008 de alta disponibilidad Notas: Cero prdida de datos es posible con un clster de conmutacin por error cuando se combina con la replicacin sncrona SAN o reflejo de la base de datos sncrona. ** La base de datos secundaria de log shipping se puede leer cuando las copias de seguridad de registro de transacciones se restauran con la opcin WITH STANDBY. *** The mirror database itself is not directly readable but a static, point-in-time view of it can be read by using a database snapshot. *** La base de datos espejo de s mismo no es legible directamente, sino una esttica, pero la vista point-in-time puede leer mediante una instantnea de base de datos. La combinacin tecnologas de mltiples instancias A menudo, una estrategia de alta disponibilidad para mltiples llamadas de varias instancias de estrategias para ser combinadas, por redundancia o para mitigar un dficit de una tecnologa. El principal ejemplo de esto es con el clster de conmutacin por error, que no proporciona una copia redundante de los datos, como se explic anteriormente. En este caso, el simple uso de copias de seguridad de bases de datos o envo de registros puede cumplir con los requisitos de la prdida de tiempo de inactividad y de datos. Si no hay prdida de datos puede ser tolerada, ya sea reflejo de base sincrnico o sncrono de replicacin SAN pueden ser utilizados. Agrupacin de conmutacin por error tambin se puede combinar con la replicacin SAN (y una red que conecta los dos grupos); la combinacin resultante se conoce comnmente como geo-agrupamiento. Otro ejemplo es cuando el reflejo de base se utiliza para proporcionar una copia en caliente en espera de una base de datos. Tambin puede ser un requisito para proteger contra el error humano (por ejemplo, dejando caer un cuadro). En este caso, una de las siguientes opciones se pueden utilizar: crear una instantnea de base peridicamente sobre la base de datos de espejo puede ser una solucin viable, o la adicin de una copia de trasvase secundaria de la misma base de datos y la configuracin de un retardo de carga, como se explic anteriormente. Aun cuando la replicacin transaccional se utiliza como la principal tecnologa de alta disponibilidad, puede ser deseable para proteger an ms cada uno de los servidores de la topologa de replicacin. Con SQL Server 2008, la base de datos de publicacin y suscripcin se pueden proteger mediante el reflejo de base y la base de datos de distribucin se debe colocar en un clster de conmutacin por error para su proteccin. Combining multi-instance technologies adds complexity to the overall system. La combinacin de tecnologas Multiinstancia aade complejidad al sistema global. SQL Server 2008 Libros en pantalla contiene una seccin que trata sobre las diversas combinaciones y explica algunas de las cuestiones en juego, junto con las soluciones. Para obtener ms informacin, consulte el apartado "Alta disponibilidad: interoperabilidad y coexistencia" ( http://msdn.microsoft.com/en-us/library/bb500117.aspx ). Escenarios especficos:

Replicacin de SQL Server: Proporcionar alta disponibilidad usando Mirroring" "Mirroring y Log Shipping Trabajar juntos" Virtualizacin Although Aunque la virtualizacin no es una tecnologa SQL Server 2008, puede ser utilizado eficazmente para reducir al mnimo el tiempo de inactividad. En este caso, la instancia de SQL Server 2008 se instala en un Windows Server 2008 Hyper-V mquina virtual que se ejecuta en un servidor fsico y accede a los datos almacenados en una SAN, junto con la imagen de mquina virtual en sCualquier servidor fsico con el acceso al almacenamiento puede ejecutar la mquina virtual. Usando Windows Server 2008 R2 y Microsoft Hyper-V Server 2008 R2, corriendo en maquinas se pueden mover entre los nodos del clster de Windows de forma transparente con la funcin de la migracin en vivo, a los efectos de actualizacin o mantenimiento de servidores (es decir, sin necesidad de apagar el servidor SQL Server 2008 ejemplo). Adems, si una mquina virtual o nodo fsico falla, la mquina virtual se reiniciar automticamente en otro nodo. Para obtener ms informacin, consulte el documento tcnico "Ejecutando SQL Server 2008 en un entorno Hyper-V" Mitigar las causas del tiempo de inactividad y la prdida de datos Esta seccin del libro blanco volver a examinar las causas de la prdida de tiempo de inactividad y los datos y explicar cmo se pueden mitigar mediante las diversas tecnologas que se describen anteriormente. Cabe sealar que en todos los casos, se recomienda que una estrategia de copia de seguridad integral se pueden emplear junto con cualquier tecnologa de instancia mltiple, para proteger contra la posibilidad de fallos mltiples destruyendo todas las copias de la base de datos. Mantenimiento de la Base de datos El tiempo de inactividad y la degradacin del rendimiento pueden ser mitigados desde el mantenimiento de la siguiente manera: Realizar un anlisis de la fragmentacin y la comprobacin de coherencia en una base de datos redundantes Uso de las operaciones en lnea para evitar bloqueos a largo plazo de bloqueo Uso de la compresin de copia de seguridad para acortar la duracin de las operaciones de copia de seguridad La limitacin de los recursos de la CPU de las operaciones de mantenimiento utilizando el regulador de recursos Operaciones por lotes El tiempo de inactividad de las operaciones por lotes puede ser mitigado mediante la tabla y la particin de ndice. El particionamiento permite las operaciones bulk-delete y bulk-insert se lleven a cabo como operaciones de slo metadatos (conocida como conmutacin de particiones). Los detalles de este mecanismo estn ms all del alcance de este papel blanco, para obtener ms informacin sobre el uso de particiones, consulte el documento tcnico "tabla con particiones y estrategias de ndices con SQL Server 2008" ( http://msdn.microsoft.com/en-us / library/dd578580.aspx ) y los libros de SQL Server en lnea tema "Separacin" ( http://msdn.microsoft.com/en-us/library/ms178148.aspx ). Upgrade El tiempo de inactividad de las actualizaciones pueden ser mitigados por la conmutacin por error a otra instancia de SQL Server 2008 con una copia redundante de los datos (mediante el trasvase de registros, creacin de reflejo de base de datos, la replicacin transaccional o de conmutacin por error con la replicacin SAN), o por no ms de una instancia de SQL Server 2008 a otro nodo en un clster de conmutacin por error. If a zero data-loss failover is required, synchronous database mirroring or failover clustering with synchronous SAN replication are usually needed. Si se requiere una prdida de cero datos Mirroring sincrnico, o failover Clustering con replicacin sincrnica con la SAN son necesarios. Para actualizaciones de los servidores fsicos de recursos de CPU en caliente y agregar memoria hot-add se puede utilizar para permitir que los recursos que se agrega a un servidor sin incurrir en el tiempo de inactividad de SQL Server. Centro de Prdidas de Datos La tecnologa a utilizar para mitigar la prdida de un centro de datos depende del nmero de instancias de SQL Server 2008 y bases de datos deben ser protegidos, y si otro centro de datos est disponible. Para una sola base de datos, Log Shipping o Mirroring a un centro de datos remoto es adecuado, dependiendo de los requerimientos de prdida de datos. For multiple databases or instances, failover clustering with SAN replication (geoclustering) is required. Para mltiples bases de datos o instancias, failover clustering o replicacin de SAN (geoclustering) es requiere. Para agregar una mayor redundancia, un centro de datos el tercer lugar con Log Shipping de todas las bases de datos puede proporcionar copias de reserva de clidas las bases de datos. Una alternativa a estas tecnologas es el uso de la replicacin transaccional o de igual a igual, si el ecosistema de aplicaciones es adecuado para la replicacin en lugar de una de las tecnologas de todo el conjunto de bases de datos o

de la instancia. Si no hay ningn centro de datos remoto disponible, la nica defensa es tener una estrategia de copia de seguridad completa y almacenar una copia de las copias de seguridad de bases de datos fuera del sitio por lo que un fracaso no destruir el centro de datos y todas las copias de las copias de seguridad de bases de datos. Esta solucin, por supuesto, incurre en la mayor cantidad de tiempo de inactividad y prdida de datos. Error de servidor Mitigacin de fallo del servidor es el mismo que para los centros de datos de prdida de la eleccin de la tecnologa depende de la cantidad de bases de datos y los casos estn involucrados, adems de los requisitos de prdida de datos. Fallas del Subsistema I / O Mitigating I/O subsystem failure means providing redundancy at the data level. Mitigar la falla del subsistema I / O significa proporcionar redundancia a nivel de datos. La primera lnea de defensa consiste en configurar el subsistema de I / O para incorporar la redundancia con RAID. A nivel de SQL Server, una copia redundante de la base de datos por lo general se debe mantener, con la eleccin de la tecnologa depender de los requerimientos de prdida de tiempo de inactividad y de datos. Por otra parte, si los requisitos de tiempo de inactividad lo permiten, la mitigacin puede ser proporcionada nicamente a travs de una copia de seguridad completa y la estrategia de diseo de bases de datos, configurado para permitir restauraciones por etapas en lnea de la menor cantidad de datos posible. Sin embargo, si el subsistema de E / S ha fallado completamente, puede que no sea posible recuperar ms all de la copia de seguridad del registro de transacciones ms reciente. Como se explic anteriormente, las nicas tecnologas que pueden alcanzar la prdida de datos cero son synchronous database mirroring y synchronous SAN replication. Error humano Mitigar el error humano que afecta a los datos las tecnologas que pueden ayudar aqu son: Configuracin de log shipping secundarios con un retraso de la carga. Configuracin de una base de datos mirroring con una instantnea de base de datos. Configuracin de copias de seguridad duplicadas para mitigar un borrado accidental. Configuracin de una estrategia de copia de seguridad que permite a los dirigidos restaura y recuperacin de punto en el tiempo. Aunque no se discute en este libro blanco, la mejor defensa contra el error humano es la prevencin a travs de seguridad configurado correctamente (por ejemplo, el usuario del esquema de separacin, el uso de disparadores DDL, o la manipulacin de datos a travs de procedimientos almacenados controlados nicamente). Caractersticas de alta disponibilidad compatibles con las ediciones de SQL Server 2008 El cuadro 1 muestra que SQL Server 2008 ediciones son compatibles con las caractersticas descritas en este documento, en el orden en que fueron discutidos. Feature name Nombre de la funcin | Enterprise Empresa | Standard Estndar | All other editions Todas las ediciones, | Fast recovery La recuperacin rpida | Yes S | | | Partial database availability Disponibilidad de la base de datos parcial | Yes S | | | Online piecemeal restore Restauracin por etapas en lnea | Yes S | | | Partitioning Particiones | Yes S | | | Instant file initialization Inicializacin instantnea de archivos | Yes S | Yes S | Yes S | Mirrored backups Duplicados de copias de seguridad | Yes S | | | Backup checksums Las sumas de comprobacin de copia de seguridad | Yes S | Yes S | Yes S | Backup compression La compresin de copia de seguridad | Yes S | | | Online index operations Las operaciones de ndice en lnea | Yes S | | | Database snapshots Instantneas de bases de datos | Yes S | | | Hot-add memory Hot-add memoria | Yes S | | | Hot-add CPU Hot-add CPU | Yes S | | | Resource Governor Del regulador de recursos | Yes S | | | Log shipping El trasvase de registros | Yes S | Yes S | Yes, except Express S, salvo expreso | Transactional replication La rplica transaccional | Yes S | Yes S | Subscriber only Slo suscriptor | Peer-to-peer transactional replication Peer-to-peer replicacin transaccional | Yes S | | | Database mirroring Database Mirroring | Yes S | Yes, synchronous only S, slo sincrnica | Witness only Testigo nica |

Automatic page repair from the mirror Reparacin automtica de pginas en el espejo | Yes S | Yes S | | Failover clustering Clustering | Operating system maximum supported nodes Nodos del sistema de funcionamiento mxima admitida | 2 nodes 2 nodos | | Tabla 1: Caractersticas de alta disponibilidad compatibles con las ediciones de SQL Server 2008 Tareas de revisin y documentacin del estado actual de los servidores. HEALTH CHECKS Y RUNBOOK Herramientas que se pueden utilizar * Herramientas del sistema operativo * Herramientas de administracin y Log de eventos. * SSMS incluyendo el Standard Reports. * T-SQL, PorwerSell, DMVs, Vistas del Sistema, Procedimientos almacenados del sistema, entre otros. * SQL Trace/Profiler. * Utilitarios RML para SQL Server, PAL, y otros libres. * Crear su propia coleccin automatizada, reporting System. * Usar aplicaciones como: SCOM, SQL Response, entre otros. * Libros electrnicos Sql Server Tacklebox Qu se debe Chequear * Hardware * Sistema Operativo * Configuracin de SQL Server * Configuracin de la Base de Datos * Seguridad * Mantenimiento de la Base de Datos * SQL Server Agent Jobs * Logs * Monitoreo * Rendimiento (Trabajo en Progreso) * Alta disponibilidad Lista de chequeo base para personalizar un chequeo segn las necesidades de la empresa. Gua bsica para realizar el chequeo de la Base de Datos. Reporte gua de chequeo. RunBook El RunBook es definir, crear, coordinar, gestionar y documentar los flujos de trabajo de TI (tambin denominada automatizacin) permite establecer un control en tiempo real basado en directivas y ofrecer la mxima eficiencia en las operaciones de TI. Runbooks se utilizan en TI, y son una referencia para los administradores de sistemas informticos. Runbooks estn tpicamente compilados por los supervisores de alta direccin y por lo general incluyen informacin en un formato de rbol de decisin, destacando todos los escenarios posibles. Cmo escribir un libro de ejecucin? PASO 1: * Recopilar informacin sobre el centro de datos. * Incluir informacin de contacto de cada administrador de la base, las instalaciones de construccin, vendedores y empresas de servicios pblicos. * Incluya detalles sobre el hardware y los componentes de software en el centro de datos. * Esta informacin debe ser actual con el fin de disminuir el tiempo de inactividad, no debe haber una avera del sistema. PASO 2: * Desarrollar informacin sobre el procedimiento para cada situacin prevista que podra ocurrir. * El procedimiento debe incluir: * Tareas generales de funcionamiento * Tareas de seguridad * Tareas de administracin del sistema

* Tareas de supervisin * Tareas de datos de colecciones * Tareas de solucin de problemas * Tareas de emergencia. PASO 3: * Organizar la informacin de procedimiento en un formato de rbol de decisin * Este formato describe cada resultado posible para cualquier situacin. Esto permite al lector seguir la tabla para encontrar la respuesta especfica para la tarea en cuestin. * Se puede imprimir como copia impresa o un documento de la computadora, ya que el Runbook requiere actualizaciones continuas, un documento de la computadora puede ser una ventaja. Aseguramiento de los datos: Tareas de respaldo y recuperacin de informacin. Una de las tareas ms importantes de un DBA es la creacin e implementacin de un plan de respaldo y recuperacin de nuestras Bases de Datos. La creacin de este plan puede tomar bastante tiempo y trabajo, hay que pensar en las Bases de Datos que se respaldaran, cada cuanto se harn los respaldos, etc. Es importante que el DBA tenga en claro las siguientes preguntas: Qu Bases de Datos me conviene respaldar? La Base de Datos Master es vital para el funcionamiento de SQL Server. Si falla o se corrompe, el servidor completo se vuelve intil. Lo bueno es que esta Base de Datos solo sufre cambios si creamos Bases de datos nuevas, creamos nuevos logins o cambiamos la configuracin del servidor. Lgicamente en estos casos es conveniente hacer un respaldo de la Master. Sin embargo, si una Base de Datos contiene datos vitales de nuestros clientes y sufre cambios repetidamente, necesita ser respaldada ms seguido. Qu tan importante son los datos almacenados? Una base de datos de desarrollo o testeo no es tan importante como una que se encuentra en produccin, por lo tanto la primera basta con respaldarla una vez a la semana, en cambio la segunda se recomienda respaldarla todos los das. Esto tambin va a influir en el tipo de Backup que realizaremos, un backup completo toma demasiado tiempo en el caso de una Base de Datos en produccin como para realizarlo todos los das. Si la Base de Datos es demasiado crtica, se puede realizar un Backup completo 2 veces a la semana y el resto de los das un Backup Diferencial y cada una hora un Backup de los logs de transacciones. Cada cuanto tiempo hay cambios en los datos? Una Base de Datos de solo lectura no tiene muchos cambios y por lo tanto puede pasar ms tiempo entre respaldos. Por el contrario, una Base de Datos que se actualiza varias veces al da debe ser respaldada al menos una vez al da. Qu tan rpido necesito tener la informacin disponible? En caso de un fallo, es importante el tiempo que nos demoraremos en tener disponible los datos nuevamente. Si tenemos nuestros respaldos en cinta, la recuperacin tomar ms tiempo que si lo tenemos en un disco o en varios dispositivos de respaldo. Tengo el equipamiento para realizar los respaldos? Si no tenemos donde almacenar los respaldos, difcilmente podremos hacer un plan de respaldo apropiado. Es bueno considerar ms de un tipo de dispositivo de respaldo (cintas, medios pticos, discos duros, etc.) Cul es la mejor hora para realizar respaldos? La idea es hacer los respaldos durante el tiempo en que las Bases de Datos tienen un menor uso. Esto va a disminuir el tiempo que demora el respaldo en hacerse, pero a veces es importante considerar que hay Bases de Datos que estn en uso durante el tiempo en que otras no lo estn. Es necesario almacenar mis respaldos en otro lugar fsico? Mantener copia de nuestros respaldos en otra oficina o lugar fsico es una manera de proteger los datos si nuestras instalaciones se ven afectadas por un desastre mayor (incendio, terremoto, etc.). Pero es importante considerar que tambin es importante mantener una copia de nuestro sistema de respaldo para poder recuperar rpidamente los datos. tica del DBA Responsabilidades con la Organizacin * Los DBA's son responsables desde y hasta la fecha en que presten servicio a la organizacin, de las regulaciones que impacten los sistemas de datos. * Mantener a la organizacin informada de todos los eventos, de manera honesta, abierta y sin drama innecesario. * Proporcionar informacin completa con todos hechos disponibles. * Proporcionar la mejor seguridad posible para todos los sistemas de datos. * Proporcionar un ambiente de contingencia, con una gua de recuperacin y conocimiento de cmo ejecutar ese plan. * Eliminar los silos de informacin- evitar el segregamiento del conocimiento de sus sistemas y de las tcnicas

empleadas. Responsabilidades a uno mismo * Mantente al da sobre los acontecimientos de la industria. * Mantenerse al da sobre la regulacin y otras no las cosas que no son tecnolgicas pero tienen que ver con sistemas de datos. * Continuar aprendiendo nuevas tcnicas, nuevas herramientas, comprender las mejores prcticas. * Esforzarse por ser constante en los enfoques de optimizacin y mejora de los procedimientos y los procesos existentes. Responsabilidades con los compaeros de trabajo * Ser honesto en todas las relaciones con los compaeros de trabajo. * Proteger a los compaeros de trabajo de los sistemas de datos. * Compartir, ensear y ayudar a crecer la base de conocimiento colectivo. Principios ticos para todos los DBAs Principio 1 (prudencia): La prudencia se define como la capacidad de conocer el buen fin y los derechos de los medios para llegar all. Para estar seguro de ser prudente, se debe buscar el consejo, mirar los hechos y considerar las normas generales de la sociedad. Principio 2 (Justicia): La justicia se define como dar a cada uno su merecido que le corresponde. El DBA respeta los derechos y la dignidad de todas las personas y promueve el bienestar para todos los involucrados. Principio 3 (La Templanza): La templanza es definida como saber cundo frenar. El DBA debe mostrar la templanza antes de ver o actuar en la informacin por parte de una persona razonable a ser confidencial. Principio 4 (Coraje): El valor se define como saber cundo tomar un riesgo. La honra a todos los miembros los compromisos profesionales y voluntarios. Principio 5 (Responsabilidad): La responsabilidad es tener el control y la rendicin de cuentas para los eventos correspondientes que ocurren en su dominio. Para el DBA esto implica ser responsable y rendir cuentas de las bases de datos que son de confianza para el control. Principio 6 (Confiabilidad): Confiabilidad est siendo encomiable y digna de confianza. Cuando son personas de confianza pueden contar con usted para hacer lo mejor posible, para mantener su palabra y dar seguimiento a sus compromisos. T haz lo que dices que hars. Cdigo de conducta del DBA Recomendaciones para manejo de problemas de rendimiento Consideraciones * Una aplicacin distribuida se encuentra compuesta de muchas capas. * La solucin a un problema pasado no siempre ser aplicable a uno nuevo. * Debemos analizar todos los puntos con los cuales interacta la aplicacin antes de dar una conclusin. * Se debe monitorear y guardar histricos para compararlos contra futuros datos monitoreados. * Network: * Conexin mediante un switch dedicado para clientes y SQL. * Mltiples NIC para servidores. * Ancho de banda ms grande. * Evitar consultas de devuelvan muchos datos. * Procesador: * Tratar de utilizar varios procesadores para utilizar paralelismo. * Memoria: * Asignar un bloque de memoria grande dedicado al SQL. * General: * Evitar ejecutar otros servicios en el mismo servidor del SQL. * Utilizar drivers de conexin ms actualizados y propietarios. * Escalamiento: * Optimizar la aplicacin antes de escalar. * Dirigir estrategia para datos histricos y reportes. * De preferencia utilizar escalamiento vertical. * Schema (Diseo)

* Seleccionar tipos de datos apropiados (necesidades). * Separar cargas para OLTP y OLAP. * Normalizar primero, de-normalizar para rendimiento * Definir todas las llaves primarias y forneas * Definir todos los unique y check constraints * Cursores * Con frecuencia son utilizados para ejecutar una funcin por registro. * Usualmente se puede ejecutar un ciclo con la sentencia WHILE para hacer el mismo trabajo sin incurrir en todo el overhead generado por el cursor. * Variables de tipo tabla * Es un tipo de dato de SQL. * Son creadas en memoria a menos que no exista espacio. * Son ms eficientes que las tablas temporales. * Se pueden crear ndices para agilizar las bsquedas. * Tienen un mbito bien definido. El procedimiento almacenado, la funcin o el batch en el que se declaran. * Las variables de tipo tabla producen menos re-compilaciones de los procedimientos almacenados en los que se encuentran en comparacin con tablas temporales. * Las variables tabla no necesitan de bloqueos ni de tantos recursos como las tablas temporales. * Procedimientos almacenados * Seguridad: toda la informacin referente a la sentencia no viaja a travs de la red. * Rendimiento: * Ms informacin enviada consume ms ancho de banda. * Son precompilados. * Funcionan de forma tipificada. * Programacin modular, reutilizacin de cdigo y mantenimiento * Seguridad, permisos especficos * Clientes transmiten menos datos, nombre y parmetros * No utilizar el prefijo sp_ para nombrarlos (master only) * Evitar utilizar variables tablas dentro de ellos (re-compilacin requerida) * SET NOCOUNT ON al inicio y SET NOCOUNT OFF final (Previene el envo del flag DONE_IN_PROC para cada sentencia) * Evaluar la utilizacin de HINTS: WITH (NOLOCK). * SET TRANSACTION ISOLATION LEVEL READ UNCOMMITED. * Para ejecucin dinmica preferir utilizar sp_executesql * Reducir el # de viajes al servidor, devolver mltiples resultset. * Utilizar XML para enviar estructuras jerrquicas. * Evitar cursores sobre tablas temporales, siempre generan la re-compilacin del Procedimiento. Optimizar las consultas ms costosas. Recomendaciones a nivel de esquema * Definir todas las llaves (primarias y forneas), unique constraints y check constraints * Utilizar tipos de datos apropiados (evitar nulls) * Particionar tablas horizontal y verticalmente * Buen diseo (evitar parches de ltima hora) * Normalize First, Denormalize for Performance Later. Normalization helps write performance. Denormalization helps read performance Consultas formadas correctamente * JOINs correctos * Todas las llaves son incluidas en la clusula ON * Hay un predicado en toda consulta * Agregar DISTINCT slo si es necesario * Retornar slo las filas y columnas necesarias * Evitar operadores pesados como: * NOT LIKE %valor%

* <> * Operaciones negadas * Utilizar EXISTS o NOT EXISTS en vez de los operadores pesados * Evitar funciones en clusulas WHERE sobre campos de tablas * Usar hints de niveles de Locking y Isolation para minimizar nter bloqueos slo en casos necesarios * Utilizar stored procedures (sql server reutiliza los planes de ejecucin) * Evitar uso de funciones explicitas o implcitas en el WHERE. * DATEADD(day, 15, OrderDate) = '07/23/1996' vs OrderDate = DATEADD(day, -15, '07/23/1996') * Utilizar vistas indexadas para denormalizar. * Evitar SQL injection * Usar tablas temporales y variables tabla apropiadamente * Minimizar uso de cursores * Fully Qualify Database Objects * Anlizar los planes de ejecucin Para optimizar una consulta individual, normalmente se empieza observando el plan de ejecucin de esa consulta. El plan de ejecucin describe la secuencia de operaciones, fsicas y lgicas, que SQL ServerTM realizar con el objeto de cumplir la consulta y producir el conjunto de resultados deseado. El plan de ejecucin lo genera un componente motor de la base de datos llamado Optimizador de consultas durante la fase de optimizacin del procesamiento de la consulta, esto tiene en cuenta muchos factores diferentes, como los predicados de bsqueda en la consulta, las tablas implicadas y sus condiciones de combinacin, la lista de columnas devueltas y la presencia de ndices tiles que pueden servir como rutas de acceso eficaces a los datos. Para las consultas ms complejas, el nmero de todas las permutaciones posibles puede ser muy grande, por lo que el optimizador de consultas no evala todas posibilidades, sino que en su lugar intenta encontrar un plan que sea "lo suficientemente bueno" para una consulta determinada. Esto es porque el encontrar un plan perfecto no siempre es posible; e incluso cuando es posible, el costo de la evaluacin de todas las posibilidades para encontrar que el plan perfecto podra fcilmente tener ms peso que cualquier ganancia de rendimiento. Desde el punto de vista de los administradores de bases de datos, es importante comprender el proceso y sus limitaciones. Hay varias maneras de recuperar un plan de ejecucin para una consulta: * Management Studio proporciona las caractersticas Mostrar el plan de ejecucin real y Mostrar el plan de ejecucin estimado, que presentan el plan de una manera grfica. Estas caractersticas ofrecen la solucin ms conveniente para el examen directo y constituyen, sin duda, el enfoque usado con ms frecuencia para mostrar y analizar los planes de ejecucin. (En este artculo, usar los planes grficos generados de este modo para ilustrar mis ejemplos). * Varias opciones SET, como SHOWPLAN_XML y SHOWPLAN_ALL, devuelven el plan de ejecucin en forma de documento XML que describe el plan mediante un esquema o como un conjunto de filas con descripciones textuales de cada una de las operaciones en el plan de ejecucin. * Las clases de evento del Analizador de SQL Server, como Showplan XML, le permiten reunir los planes de ejecucin de instrucciones recopiladas gracias al seguimiento. Anlisis de un plan de ejecucin Ahora me centrar en una consulta sencilla, en su plan de ejecucin y en algunos mtodos para mejorar su rendimiento. Supongamos que ejecuto esta consulta mediante Management Studio con la opcin Incluir plan de ejecucin real activada en la base de datos de ejemplo de Adventure Works en SQL Server 2005: SELECT c.CustomerID, SUM(LineTotal) FROM Sales.SalesOrderDetail od JOIN Sales.SalesOrderHeader oh ON od.SalesOrderID=oh.SalesOrderID JOIN Sales.Customer c ON oh.CustomerID=c.CustomerID GROUP BY c.CustomerID Como resultado, veo el plan de ejecucin descrito en la figura 1. Esta consulta sencilla calcula la cantidad total de pedidos realizados por cada cliente de Adventure Works. Al observar el plan de ejecucin, puede consultar cmo el motor de la base de datos procesa la consulta y produce el resultado. Los planes de ejecucin grficos deben leerse de arriba a abajo y de derecha a izquierda. Cada icono representa una operacin lgica y fsica realizada y las flechas

muestran flujo de datos entre las operaciones. El grosor de las flechas representa el nmero de filas que se transmite entre las operaciones, cuanto ms gruesa es la flecha, ms filas habr implicadas. Si coloca el puntero sobre uno de los iconos del operador, la informacin sobre herramientas en color amarillo (como la mostrada en la figura 2) mostrar detalles de esa operacin en particular. Figura 1 Plan de ejecucin de ejemplo (Hacer clic en la imagen para ampliarla) Figura 2 Detalles sobre una operacin (Hacer clic en la imagen para ampliarla) Observando cada uno de los operadores, puede analizar la secuencia de pasos realizados: 1. El motor de la base de datos realiza una operacin Clustered Index Scan en la tabla Sales.Customer y devuelve la columna CustomerID para todas las filas de esa tabla. 2. A continuacin, realiza un Index Scan (lo cual significa que realiza un examen de ndice no agrupado) en uno de los ndices de la tabla Sales.SalesOrderHeader. ste es un ndice de la columna CustomerID, pero tambin incluye implcitamente la columna SalesOrderID (la clave de clster de la tabla). El examen devuelve los valores de ambas columnas. 3. El resultado de ambos exmenes se une en la columna CustomerID mediante el operador fsico Merge Join. (Esta es una de tres maneras fsicas posibles de realizar una operacin de unin lgica. Es rpido pero requiere la reorganizacin de ambas entradas en una columna unida. En este caso, ambas operaciones de examen ya han devuelto las filas reorganizadas en CustomerID, por lo que no hay necesidad de realizar la operacin Ordenar adicional). 4. A continuacin, el motor de la base de datos realiza un examen del ndice agrupado en la tabla Sales.SalesOrderDetail, recuperando los valores de cuatro columnas (SalesOrderID, OrderQty, UnitPrice y UnitPriceDiscount) de todas filas en esta tabla. (Se haba estimado que esta operacin devolvera 123.317 filas y esa fue la cifra realmente devuelta, tal como puede observar en las propiedades de nmero estimado de filas y nmero real de filas de la figura 2, por lo que la estimacin fue bastante acertada). 5. Las filas producidas por el examen de ndice agrupado se transmiten al primer operador Compute Scalar de manera que el valor de la columna calculada LineTotal pueda calcularse para cada fila, segn las columnas OrderQty, UnitPrice y UnitPriceDiscount implicadas en la frmula. 6. El segundo operador Compute Scalar aplica la funcin ISNULL al resultado del clculo anterior, tal como lo requiera la frmula de la columna calculada. Esto completa el clculo de la columna LineTotal y lo devuelve, junto con la columna SalesOrderID, al operador siguiente. 7. El resultado del operador Merge Join del paso 3 se une con el resultado del operador Compute Scalar del paso 6, mediante el operador fsico Hash Match. 8. A continuacin, se aplica otro operador Hash Match para agrupar las filas devueltas de Merge Join por el valor de la columna CustomerID y el agregado calculado SUM de la columna LineTotal. 9. El ltimo nodo, SELECT, no es un operador fsico ni lgico, sino ms bien un marcador de posicin que representa los resultados de consulta generales y el costo. Indices * Utilizar ndices de acuerdo a su recomendacin de uso * Crear llaves de ndices clustered lo ms pequeas posible * Considerar datos en rango candidatos para clustered * Crear ndices sobre todas las llaves forneas * Remover ndices no utilizados Crear ndices de cobertura para optimizar las consultas Es importante tener en cuenta que las columnas deben estar en ese orden exacto: CREATE INDEX IDX_OrderHeader_SalesOrderID_CustomerID ON Sales.SalesOrderHeader (SalesOrderID, CustomerID) La creacin de ndices de cobertura para las consultas ms frecuentemente ejecutadas es una de las tcnicas ms fciles y comunes que se usa en la optimizacin de consultas. Funciona especialmente bien en situaciones en las que la tabla contiene un nmero de columnas pero slo algunas de ellas son mencionadas con frecuencia por las consultas. Al crear uno o ms ndices de cobertura, puede mejorar mucho el rendimiento de las consultas afectadas, puesto que stas obtendr acceso a una cantidad de datos mucho ms pequea y, por lo tanto, proporcionarn menos E/S. Existe, sin embargo, un costo oculto por mantener los ndices adicionales durante las operaciones de modificacin de datos

(INSERT, UPDATE y DELETE). Dependiendo de su entorno y de la relacin entre las consultas SELECT y las modificaciones de datos, debera juzgar detenidamente si los costos adicionales de mantenimiento del ndice estn justificados por las mejoras de rendimiento de consultas. No tenga miedo de crear ndices de varias columnas en vez de ndices de una sola columna. stos tienden a ser mucho ms tiles que los ndices de una sola columna y es ms probable que el optimizador de consultas los use para cubrir la consulta. La mayora de los ndices de cobertura son ndices de varias columnas. Creacin de vistas indizadas. Si el rendimiento de mi consulta de ejemplo es muy importante, puedo ir un paso ms adelante y crear una vista indizada que almacene fsicamente los resultados materializados de la consulta. Hay ciertos requisitos previos y limitaciones de vistas indizadas, pero si se puede usar uno, puede mejorar el rendimiento drsticamente. Tenga presente que las vistas indizadas conllevan un costo ms alto de mantenimiento que los ndices estndar. Como resultado, debe tener cuidado cuando las use. En este caso, la definicin del ndice tiene este aspecto: CREATE VIEW vTotalCustomerOrders WITH SCHEMABINDING AS SELECT oh.CustomerID, SUM(LineTotal) AS OrdersTotalAmt, COUNT_BIG(*) AS TotalOrderLines FROM Sales.SalesOrderDetail od JOIN Sales.SalesOrderHeader oh ON od.SalesOrderID=oh.SalesOrderID GROUP BY oh.CustomerID Se debe tener en cuenta la opcin WITH SCHEMABINDING, que es un requisito previo para crear un ndice en esa vista y la funcin COUNT_BIG(*), que es necesaria si nuestra definicin del ndice contiene una funcin agregada (en este ejemplo, SUM). Despus de crear esta vista, puedo crear un ndice en ella, como ste: CREATE UNIQUE CLUSTERED INDEX CIX_vTotalCustomerOrders_CustomerID ON vTotalCustomerOrders(CustomerID) Cuando se crea este ndice, el resultado de la consulta incluida en la definicin de la vista se materializa y se almacena fsicamente en disco en el ndice. Tenga en cuenta que todas las operaciones de modificacin de datos en las tablas base a continuacin actualizan automticamente los valores de la vista segn su definicin. Recomendaciones para recuperacin de desastres Se debe contar con un plan de continuidad del negocio. En el caso particular de SQL Server se utilizan los Respaldos para Restaurar las Bases de Datos. Situacin de recuperacin de desastres Una situacin comn de recuperacin de desastres se compone de los siguientes pasos: 1. Reinstale Windows, si fuera necesario. 2. Reinstale CA ARCserve Backup, si es necesario. 3. Reinstale el Agente para Microsoft SQL Server y el agente de cliente de Windows si es necesario. (El agente de cliente es necesario para restaurar Elementos de recuperacin de desastres de Microsoft SQL Server.) 4. Realice una de las acciones siguientes segn sea necesario: 5. Si dispone de una sesin de Elementos de recuperacin de desastres de Microsoft SQL Server, resturela. 6. Si existe una copia de seguridad sin conexin, resturela. 7. Si no dispone de una copia de seguridad sin conexin o una sesin de Elementos de recuperacin de desastres y cuenta con la utilidad rebuildm.exe de Microsoft SQL 7.0 2000, utilcela para volver a crear las bases de datos principal y de modelos. Para SQL 2005 y 2008, esta es una funcin del software de instalacin de SQL Server. Para obtener ms informacin, consulte la documentacin de Microsoft. 8. Si no existe una copia de seguridad sin conexin ni una copia de seguridad de Elementos de recuperacin de desastres y no dispone de la utilidad rebuildm.exe de Microsoft SQL, reinstale la aplicacin basada en MSDE o Microsoft SQL Server. 9. Restaure la base de datos [master]. 10. Inicie Microsoft SQL Server en el modo normal de multiusuario.

11. Restaure la base de datos [msdb]. 12. Restaure la base de datos de modelos. 13. Restaure el resto de bases de datos y registros de transacciones, excepto la base de datos de replicacin. 14. Si se va a utilizar la replicacin, restaure la base de datos de replicacin. Referencias http://dbagroup.cl/blog/?p=200 https://supportcontent.ca.com/cadocs/0/CA%20ARCserve%20%20Backup%20r16ESP/Bookshelf_Files/HTML/sqlservr/index.htm?toc.htm?79160.html http://translate.google.co.cr/translate?hl=es&langpair=en%7Ces&u=http://technet.microsoft.com/enus/library/cc966511.aspx Anexos La creacin de la Base de datos. La primera tarea que tendr que realizar un DBA es la creacin de base de datos. Fsicamente hablando, una base de datos no es ms que un conjunto de archivos que son almacenados en un dispositivo de almacenamiento y que son vistos como una unidad a la que se le da un nombre y a la que se le definen un conjunto de propiedades. Esta definicin constituye la primera perspectiva utilizada para definir una base de datos. En SQL Server, al crear una base de datos, se configura la estructura de almacenamiento de los datos. Esta estructura incluye al menos un archivo de datos (archivo con extensin mdf), que contiene objetos de la base de datos y un archivo de registro de transacciones (archivo con extensin ldf). Adicionalmente, Una base de datos tambin puede tener archivos de datos secundarios (.ndf). Para un DBA es de vital importancia, tener en cuenta los siguientes hechos: * Los datos se almacenan en bloques de 8 kilobytes (KB) de espacio contiguo en disco, llamados pginas. Esto significa que una base de datos puede almacenar 128 pginas por megabyte (MB). Las filas o registros no pueden abarcar ms de una pgina. Por tanto, la mxima cantidad de datos de una fila, quitando el espacio necesario para la cabecera de la fila, es 8060 bytes. * Las tablas y los ndices se almacenan en extensiones. Una extensin son ocho pginas contiguas, o 64 KB. Por tanto, una base de datos tiene 16 extensiones por megabyte. Las tablas pequeas pueden compartir extensiones con otros objetos de la base de datos. * Los archivos del registro de transacciones contienen toda la informacin necesaria para recuperar la base de datos en caso de un error del sistema. La siguiente figura muestra un resumen de lo anteriormente mencionado: La manera recomendable de mantener los archivos que componen una base de datos se muestra en la siguiente figura. Bsicamente, consiste en lo siguiente: * Tener un control de disco exclusivamente para el sistema operativo. * Tener otro controlador de disco para el archivo de registro de transacciones. * Y finalmente distribuir el archivo de datos en dos o ms controladores de datos. Para la optimizacin de base de datos se utilizan una serie de tcnicas: La utilizacin de RAID (conjunto de discos que son vistos como uno solo), la utilizacin de grupos de archivos o una combinacin de las dos tcnicas mencionadas anteriormente. De la observacin del grfico anterior se puede aclarar estas tcnicas: * El archivo de registro de transacciones usa RAID, es decir usa dos discos que funcionan como uno slo, lo que permite realizar las escrituras y lecturas hasta dos veces ms rpido dependiendo del tipo de RAID utilizado. * El archivo de datos esta distribuido en dos controladores de RAID los cuales manejan 8 archivos (combinacin de archivos con extensin mdf y ldf) que son agrupados en un grupo de archivos. De acuerdo a esta estructura, la velocidad de escritura y lectura se aumenta hasta en 8 veces dependiendo del tipo de RAID usado.

La creacin de los objetos de la base de datos La segunda perspectiva que tenemos para definir una base de datos es la manera lgica. Lgicamente, una base de datos es un conjunto de datos que se encuentran estructurados en tablas y otros objetos que ayudan a definir los mecanismos que mantienen la integridad entre los datos. En la tabla siguiente se describen los objetos de una base de datos de SQL Server: Objeto | Descripcin | Tabla | Define un conjunto de filas que tienen columnas asociadas. | Tipos de datos | Define los valores permitidos para los datos de una columna o una variable. SQL Server proporciona una serie de tipos de datos que son llamados tipos de datos del sistema; pero tambin brinda la oportunidad a los usuarios de crear sus propios tipos de datos, los cuales son llamados tipos de datos definidos por el usuario. | Restriccin | Define reglas relacionadas con los valores permitidos en las columnas y es el mecanismo estndar para exigir la integridad de los datos. | Valor predeterminado | Define un valor que se almacena en una columna si no se especifica explcitamente ningn otro valor. | Regla | Contiene informacin que define los valores vlidos que se pueden almacenar en una columna o en un tipo de datos. | ndice | Es una estructura de almacenamiento que proporciona acceso rpido para la recuperacin de los datos y que tambin ayuda a exigir la integridad de los datos. Hay dos tipos: ndice agrupado, en el que el orden lgico o indizado de los valores de la clave es el mismo que el orden fsico, o de almacenamiento, de las filas correspondientes existentes en la tabla. ndice no agrupado, en el que el orden lgico del ndice no coincide con el orden fsico en el que estn almacenadas las filas de la tabla. | Vistas | Proporciona una forma de ver los datos de una o varias tablas. | Funcin definida por el usuario | Puede devolver un valor escalar o una tabla. Las funciones se utilizan para encapsular la lgica que se realiza con frecuencia. | Procedimiento Almacenado | Es una coleccin de instrucciones Transact-SQL precompiladas que se ejecutan conjuntamente y a las cuales se les da un nombre. | Desencadenador | Es una forma especial de procedimiento almacenado que se ejecuta automticamente cuando un usuario modifica los datos de una tabla o una vista. | Una vez creada la base de datos, la siguiente labor del DBA es crear todos los objetos que la constituirn. Encontrar las consultas que consumen ms recursos Los DMVs (Dynamic Management Views) son una magnfica forma de encontrar informacin de performance a partir de SQL Server 2005 en adelante (2008/2008R2/2012) En este query de Pinal Dave se utilizan DMVs para encontrar los queries que mas consumen en un server SQL Server 2005/2008 (recordar que este script funciona solo en bases compatibilidad 2005/2008) Query: SELECT TOP 10 SUBSTRING(qt.TEXT, (qs.statement_start_offset/2)+1, ((CASE qs.statement_end_offset WHEN -1 THEN DATALENGTH(qt.TEXT) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2)+1), qs.execution_count, qs.total_logical_reads, qs.last_logical_reads, qs.total_logical_writes, qs.last_logical_writes, qs.total_worker_time, qs.last_worker_time, qs.total_elapsed_time/1000000 total_elapsed_time_in_S, qs.last_elapsed_time/1000000 last_elapsed_time_in_S, qs.last_execution_time, qp.query_plan

FROM sys.dm_exec_query_stats qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) qt CROSS APPLY sys.dm_exec_query_plan(qs.plan_handle) qp ORDER BY qs.total_logical_reads DESC -- logical reads -- ORDER BY qs.total_logical_writes DESC -- logical writes -- ORDER BY qs.total_worker_time DESC -- CPU time Se puede cambiar el ordenamiento del script para destacar otro criterio de bsqueda. Existe igualmente, un conjunto de consultas, los DMVs AllStars, que se que son una interesante herramienta para todo DBA en busca de detectar problemas de performance. * DMV_All-Stars_v20100801.sql monitorear SQL Server Para monitorear el estado de los jobs que fallaron en su ltima ejecucin: SELECT name FROM msdb.dbo.sysjobs A, msdb.dbo.sysjobservers B WHERE A.job_id = B.job_id AND B.last_run_outcome = 0 Espacio en cada disco para la instancia SQL: EXEC master..xp_fixeddrives Para ver un listado de Jobs Deshabilitados: SELECT name FROM msdb.dbo.sysjobs WHERE enabled = 0 ORDER BY name Para ver un listado de los jobs que estn actualmente en ejecucin: msdb.dbo.sp_get_composite_job_info NULL, NULL, NULL, NULL, NULL, NULL, 1, NULL, NULL Para ver logines que son miembros de los roles de servidor: SELECT 'ServerRole' = A.name, 'MemberName' = B.name FROM master.dbo.spt_values A, master.dbo.sysxlogins B WHERE A.low = 0 AND A.type = 'SRV' AND B.srvid IS NULL Para ver la ltima vez que las bases de datos fueron backupeadas: SELECT B.name as Database_Name, ISNULL(STR(ABS(DATEDIFF(day, GetDate(), MAX(Backup_finish_date)))), 'NEVER') as DaysSinceLastBackup, ISNULL(Convert(char(10), MAX(backup_finish_date), 101), 'NEVER') as LastBackupDate FROM master.dbo.sysdatabases B LEFT OUTER JOIN msdb.dbo.backupset A ON A.database_name = B.name AND A.type = 'D' GROUP BY B.Name ORDER BY B.name Para leer las ultimas entradas del archivo de log (NO el transaction log): CREATE TABLE #Errors (vchMessage varchar(255), ID int) CREATE INDEX idx_msg ON #Errors(ID, vchMessage) INSERT #Errors EXEC xp_readerrorlog SELECT vchMessage FROM #Errors WHERE vchMessage NOT LIKE '%Log backed up%' AND vchMessage NOT LIKE '%.TRN%' AND vchMessage

NOT LIKE '%Database backed up%' AND vchMessage NOT LIKE '%.BAK%' AND vchMessage NOT LIKE '%Run the RECONFIGURE%' AND vchMessage NOT LIKE '%Copyright (c)%' ORDER BY ID DROP TABLE #Errors

Potrebbero piacerti anche