Impulsamos tu Talento Tecnológico
                |    Contáctanos  Calendario
 

SQL Server: 10 Secretos de un Experto de SQL

SQL Server: 10 Secretos de un Experto de SQL
Muchas empresas han reducido sus departamentos de TI durante los últimos años. Muchos administradores de bases de datos (DBA) han terminado siendo responsables de grandes cantidades de bases de datos de SQL Server. Lo que es peor, con frecuencia no hay disponibles administradores reales. Una persona es etiquetada como el administrador de bases de datos involuntario o de hecho, en algunos casos, el administrador termina luchando contra los problemas cotidianos, pasando de una crisis a la siguiente. Este tipo de entorno es difícil, tóxico e insostenible. A nadie le agrada estar bajo estrés e interrupción constantes.

Una forma de salir de este tipo de situación consiste en invertir un poco de tiempo en simplificar el entorno de SQL Server para facilitar su comprensión y administración. Por eso te compartimos 10 formas principales en que un administrador de bases de datos de SQL Server puede controlar su entorno y reducir la posibilidad general de que se produzcan crisis, realizada por Paul S. Randl. Esta lista se presenta en un orden creciente aproximado de importancia:
10. Realizar un inventario

¿Cuántas veces le han solicitado restaurar los datos dañados de una base de datos que ni siquiera tenía idea que existía? Es fácil la expansión de bases de datos de SQL Server a través de una empresa. El equipo de administradores de bases de datos puede perder la pista de lo que hay allá fuera y con ello ocasionar instancias no administradas de SQL Server.

Esto deriva en bases de datos que no tienen copia de seguridad, que no se revisan, que no están protegidas de forma correcta y que desaprovechan un host de otras tareas necesarias de administración.

Es fundamental contar con un inventario actualizado de las instancias y bases de datos que tiene en su empresa y bajo su control. Esta es la única forma en que puede administrarlas correctamente, consolidar donde sea necesario y evaluar correctamente el alcance de proyectos y actualizaciones y planificarlos. También le ayuda a establecer límites a sus responsabilidades al publicar una lista de instancias conocidas para las cuales usted acepta la responsabilidad, con el acuerdo de los diversos equipos de su organización. Puede definir directivas de soporte para instancias conocidas e insistir en que las nuevas instancias cumplan con sus pautas de configuración antes de admitirlas.

9. Estandarizar configuraciones

Si el número de bases de datos e instancias de SQL de los cuales es responsable crece constantemente, sabrá que el número de configuraciones distintas crece de manera similar. Es extremadamente difícil trabajar de forma eficaz al pasar de una instancia a otra si constantemente debe recordar los detalles de configuración de las distintas instancias.

La solución es estandarizar la configuración al mayor grado posible en términos de letras de unidad, opciones de configuración del servidor, configuración de bases de datos, mantenimiento de bases de datos, configuración de seguridad, etc.

8. Comprender el subsistema de E/S

Hay varios factores relacionados con el subsistema de E/S que pueden afectar las instancias de SQL Server. Debe conocer estos factores y su posible impacto:

La capacidad del subsistema de E/S en cuanto a leer/escribir capacidad de proceso y espacio en disco. Debe hacer frente a las demandas máximas de carga de trabajo y seguir proporcionando espacio para el crecimiento del volumen de datos antes de tener que adquirir más capacidad. Al identificar cuellos de botella de E/S y al mover datos y/o registrar archivos en otras partes del subsistema de E/S, podrá equilibrar la carga de manera más uniforme.

Las capacidades de redundancia del subsistema de E/S en términos de nivel de RAID y si puede hacer cosas como copias de seguridad de reflejo dividido y cualquier forma de creación de reflejo/replicación (en el nivel del subsistema de E/S, no el nivel de SQL Server).

Es importante que proteja sus datos y archivos de registro contra errores de unidad y otros posibles problemas. Esto suele tener ventajas y desventajas: RAID-10 ofrece mejor redundancia que RAID-5, pero es más caro. Lea las notas del producto "Diseño de almacenamiento físico en base de datos" para obtener más orientación.

El subsistema de E/S se configura correctamente en términos del tamaño de las bandas de RAID, tamaño de unidad/clúster de asignación NTFS y alineación de particiones.

7. Crear un plan de mantenimiento personalizado

"No pueden simplemente poner una base de datos en producción y marcharse". Con el transcurso del tiempo los índices se fragmentan, lo que produce una degradación del rendimiento. Las estadísticas se desactualizan, lo que genera malos planes de consultas y un rendimiento deficiente. Los subsistemas de E/S pueden dañarse, por eso siempre es necesario contar con copias de seguridad.

Puede abordar todos estos problemas si cuenta con un plan de mantenimiento completo que se adapte a sus bases de datos. Un plan personalizado es mucho mejor que un plan genérico que no satisface adecuadamente sus necesidades.

6. Garantizar la seguridad del sistema

Invertir tiempo en descubrir proactivamente los problemas de seguridad es fundamental para prevenir incidentes y no tener que ocuparse de ellos después. Además, no olvide llevar el control de la revisión de los sistemas a medida que descubre las vulnerabilidades.

5. Llegar a buenos términos con los desarrolladores

Uno de los mayores puntos de tensión en cualquier departamento de TI suele darse entre el equipo de administradores de bases de datos y el equipo de desarrollo. Los dos grupos por lo general no entienden las prioridades e inquietudes del otro, desde fechas límite de desarrollo hasta decisiones de diseño de SQL Server. Es relativamente común que haya diferentes opiniones sobre problemas de comportamiento y rendimiento y las responsabilidades en torno a implementación y soporte.

Puede agilizar más su trabajo al relacionarse proactiva y productivamente con el equipo de desarrollo. La organización de sesiones educativas mutuas da buenos resultados, en especial cuando se realizan de manera no acusatoria. Lleve a cabo revisiones de diseño con alguien presente del equipo de administradores de bases de datos y realice pruebas de código de forma adecuada antes de llevar a producción, con la esperanza de evitar errores dañinos que puedan erosionar aún más las relaciones entre los equipos.

4. Desarrollar una estrategia completa de recuperación ante desastres

Independientemente de lo infalible que pueda ser su infraestructura, debe contar con un plan de contingencia para cuando se produzca algún desastre. No se pueden predecir daños, cortes del suministro de energía, incendios, pérdida accidental de datos ni muchos otros problemas potenciales. Necesitará un plan para encarar esos problemas y recuperarse de ellos.

Trabaje con la administración para definir contratos de licencia de software con tiempo de inactividad y pérdida de datos para sus bases de datos, planifique cómo recuperar datos desde diversos tipos de pérdida de los mismos y determine cómo las bases de datos y todas las instancias de SQL figuran en el plan de continuidad de negocios de su empresa. Analice la importancia relativa de todas las bases de datos e instancias de modo que pueda dar prioridad a la recuperación ante desastres.

También deberá implementar tecnologías que lo ayuden a saber cuándo se producen los problemas, como comprobaciones de página, comprobaciones de coherencia, alertas del Agente SQL y alertas de System Center Operations Manager. La infraestructura de recuperación ante desastres le permitirá proteger los datos con copias de seguridad, envío de registros, replicación y creación de reflejos de bases de datos; y posiblemente conmutar por error a un sistema redundante con creación de reflejos de bases de datos o clústeres de conmutación por error.

3. Realizar y probar copias de seguridad en forma regular

Independientemente de lo buena que sea su planificación de alta disponibilidad y recuperación ante desastres, no podrá evitar realizar copias de seguridad de las bases de datos en forma regular. Si su base de datos se destruye o queda dañada de manera fatal, es posible que su único recurso sea restaurar a partir del último conjunto de copias de seguridad; por lo tanto, si no tiene copias de seguridad, su empresa podría sufrir graves consecuencias. No sólo debe realizar copias de seguridad, sino que también debe practicar regularmente la restauración de ellas para saber que funcionarán cuando se necesiten.

2. Supervisar y mantener el rendimiento

La optimización del rendimiento ocupa la mayor parte del tiempo de un administrador de bases de datos, pero hay muchas formas de simplificar el proceso:

  • Establezca una línea de referencia de rendimiento para que pueda ver si éste realmente ha cambiado.
  • Desglose el sistema en primitivas que pueda medir de manera aislada sin la incertidumbre de factores externos.
  • Utilice la metodología de esperas y colas para identificar rápidamente los problemas de rendimiento.
  • Supervise el rendimiento con primitivas del sistema, contadores de rendimiento y estadísticas de espera. Así sabrá cuándo comienza a degradarse el rendimiento
  • Establezca un plan de mantenimiento.
  • Planifique y ejecute con cuidado su estrategia de indización.
 
1. Saber dónde encontrar información

Con una lista de tareas pendientes sin fin, es vital que sepa cuándo concluir y buscar ayuda. Debe conocer sus limitaciones y aceptar que no puede saber todo acerca de SQL Server. La idea no es golpearse la cabeza contra la pared y desperdiciar tiempo preciado cuando hay alguien que puede ayudarlo con su tarea o problema.

En ExecuTrain lo podemos ayudar brindando consultoría sobre problemas específicos en sus bases de datos o con capacitación en SQL Server.

Fuente: TechNet Microsoft

Comentarios (2)

  • jaime

    jaime

    06 Diciembre 2018 a las 13:35 | #

    Hola primero que todo buenos días, soy estudiante de duoc uc estudio la carrera analista programador en el cual me estoy formando en el área de la informática mi pregunta es la siguiente que mecanismo de aprendizaje ustedes me recomiendan para especializarme bien en esta área ya sea sql developer programación de algoritmo .

    Responder

    • ExecuTrain

      ExecuTrain

      07 Diciembre 2018 a las 16:57 | #

      Hola Jaime, Gracias por escribirnos. Te enviaremos un correo con la información solicitada

      Responder

Deja un comentario

Estás comentando como invitado.