Está en la página 1de 5

CONSULTORÍA BASES D E D ATO S - SQ L SERVER

El DBA invisible
¿Alguna vez has pensado en cómo sería tener un superpoder?  Si es así, ¿qué superpoder te gustaría tener?
súper fuerza, súper velocidad, la capacidad de volar, la invisibilidad o algo más?  Bueno, si toma las medidas
adecuadas para ser proactivo en la administración de sus servidores SQL, casi puede alcanzar la invisibilidad,
al menos para aquellos que usan sus sistemas a diario.

Siempre he bromeado diciendo que nadie me llama para decirme que todo va bien.  Por lo general, cuando
recibo una llamada, es porque algo no está funcionando correctamente.  Esto comienza una serie de pasos
reactivos para identificar el problema, determinar, probar e implementar la solución.  A veces la solución es
muy simple y el problema se puede resolver fácilmente.  Otras veces, el problema puede ser muy complejo y
tardar mucho tiempo en resolverse.

Incluso cuando se encuentra una solución, preparar y aprobar todo para hacer un cambio en un sistema de
producción puede ser muy difícil.  Ciertamente no desea hacer un cambio en la producción que corrija un
problema solo para introducir más problemas.  Durante el proceso de solución de problemas, es probable
que se sienta abrumado por correos electrónicos y llamadas telefónicas de usuarios finales, su jefe y
cualquier otra persona que haya sido contactada porque alguien piensa que el problema no se está
resolviendo lo suficientemente rápido.  Todos sabemos que es muy difícil hacer el trabajo cuando las
personas miran por encima de tu hombro o están en tu oído.

Sin embargo, si toma las medidas adecuadas para ser proactivo en la administración de SQL Server, puede
minimizar el número de llamadas que recibe sobre el sistema.  Cuantas menos llamadas recibas, más
invisible te vuelves.

Este artículo no pretende ser una lista técnica de los métodos que puede usar para administrar
correctamente sus servidores SQL Server.  El propósito es simplemente hacerte consciente de las ideas
generales que debes considerar.  Hay una serie de cosas que puede hacer para asegurarse de que su sistema
funcione lo mejor posible.  Aquí hay algunos:

1. Participar en la compilación de SQL Server


2. Participar en el diseño de la base de datos
3. Trabaja con tus desarrolladores
4. Configurar procedimientos de mantenimiento
5. Recopilar datos de rendimiento
6. Configurar alertas
7. Conozca su SQL Server y cómo funciona
8. Identifique los pequeños problemas y evite que se conviertan en grandes problemas
9. Nunca dejes de aprender

Participe en la compilación del servidor

Si está construyendo un nuevo servidor, sea parte de él.  Dependiendo de cómo esté configurado su
departamento de TI, esto puede ser más fácil decirlo que hacerlo.  Su departamento puede tener una
plantilla estándar que se aplica a todos los servidores, y sus opciones pueden ser limitadas.  Debido a la
separación de funciones, es posible que no esté directamente involucrado en la configuración de su nuevo
servidor.  Cualquiera que sea el caso, asegúrese de ponerse en contacto con quien esté construyendo su
servidor y trabajar con ellos para asegurarse de que las cosas en las que puede influir estén configuradas
correctamente.  Si va a agregar bases de datos a un servidor existente, compruebe los recursos existentes
para asegurarse de que satisfacen las necesidades adicionales de una nueva base de datos.

Consultoría en IT con especialización en Bases de Datos Isaias.islas@live.com.mx


Av. Aztecas 470 Col. Ajusco Alc. Coyoacán CP 04300 CDMX aurora.argonza@gmail.com
Tel: (55) 5402 0974 adrimc00@hotmail.com
CONSULTORÍA BASES D E D ATO S - SQ L SERVER

Algunas cosas clave que querrá asegurarse de que estén configuradas correctamente son la configuración
del disco, la CPU y la memoria.  Para la configuración del disco, si es posible, querrá dividir la configuración
del disco en unidades separadas para lograr el máximo rendimiento.  Si su empresa utiliza un SAN, es posible
que tenga una capacidad limitada para configurar los discos subyacentes, pero no es una mala idea crear
una división lógica de unidades.  Aunque es posible que todas las unidades estén en el mismo SAN físico,
puede tener una unidad independiente para los archivos de datos, los archivos de registro y los archivos
TempDB.  También querrá asegurarse de que las unidades sean lo suficientemente grandes como para
manejar la carga de datos inicial y el crecimiento durante un período de tiempo razonable.

Las necesidades de CPU variarán mucho según el propósito de SQL Server.  Si su servidor va a tener un gran
número de conexiones, o se va a utilizar para procesos como el almacenamiento de datos, es posible que
desee un mayor número de CPU.  Si no está seguro, y si tiene la capacidad de agregar fácilmente más CPU,
comience con un número más bajo y agregue más según sea necesario.  Debería poder identificar
rápidamente esa necesidad con el monitoreo adecuado.

¡Asegúrate de tener suficiente memoria!  SQL Server ama la memoria y casi nunca puede tener suficiente. 
No hay una regla dura y rápida sobre la cantidad de memoria que necesita, pero más es casi siempre mejor.  
Tendrá que estimar la cantidad de datos que tendrán sus bases de datos, la cantidad de actividad y el
número de usuarios.  Según estas estimaciones y los límites de memoria para la versión de SQL Server que
está ejecutando, obtenga tanta memoria como pueda.  Hay toneladas de artículos disponibles para ayudarlo
a profundizar en la cantidad de memoria que debe darle a SQL Server.

Participe en el diseño de bases de datos

Configure las cosas desde el principio asegurándose de que la base de datos esté diseñada correctamente. 
Dependiendo de su configuración de TI, cualquier número de personas puede ser responsable del diseño de
la base de datos.  Puede ser el DBA, el desarrollador o alguien cuya responsabilidad principal del trabajo es
el diseño de la base de datos.  Sea cual sea su caso, manténgase en contacto con las personas responsables
del diseño.  El intercambio de ideas y pensamientos diferentes será beneficioso y debería conducir a mejores
diseños.

Cuando trabaje en el diseño de la base de datos, asegúrese de saber lo que se necesita.  No tener una buena
idea de los requisitos del sistema desde el principio es perjudicial.  Una vez que tenga los requisitos, intente
incorporar algunos estándares.  Esto hará que el desarrollo, el mantenimiento y la solución de problemas
sean mucho más fáciles.

Asegúrese de incluir claves primarias adecuadas y restricciones únicas para garantizar datos coherentes.  
Asegúrese de que la base de datos esté correctamente normalizada para reducir la redundancia de datos.  
Cree relaciones de datos adecuadas para garantizar la uniformidad de los datos.  Asegúrese de crear índices
adecuados.  Todas estas cosas aumentarán el rendimiento general de la base de datos y harán que la
administración de la base de datos sea un proceso mucho más fácil.

Trabaje con sus desarrolladores

Debe trabajar con los desarrolladores para garantizar el rendimiento adecuado de la base de datos.   Desea
ayudar asegurándose de que se sigan las buenas prácticas de programación para proporcionar un
mantenimiento fácil y un rendimiento óptimo de la base de datos.  Este no es un proceso de una sola vez y
no es una calle de un solo sentido.  Debe mantener una línea abierta de comunicación con los
desarrolladores.  También debe estar abierto a las ideas de sus desarrolladores.  Como administradores, es
posible que no siempre estemos al tanto de ideas o soluciones de desarrollo nuevas o mejores.   Debido al
trabajo diario de los desarrolladores, es más probable que encuentren formas nuevas e innovadoras de
Consultoría en IT con especialización en Bases de Datos Isaias.islas@live.com.mx
Av. Aztecas 470 Col. Ajusco Alc. Coyoacán CP 04300 CDMX aurora.argonza@gmail.com
Tel: (55) 5402 0974 adrimc00@hotmail.com
CONSULTORÍA BASES D E D ATO S - SQ L SERVER

programar.  Aprenda de los desarrolladores para obtener su propio conocimiento y poder transmitir ese
conocimiento a otros desarrolladores y administradores.

Existen innumerables documentos sobre las mejores prácticas para la programación de bases de datos. 
Algunos puntos clave a tener en cuenta en cualquier programación de bases de datos deben ser los
comentarios en el código, los estándares de programación para su empresa, el formato estandarizado para
la mantenibilidad y el manejo adecuado de errores.  Todas estas cosas son beneficiosas para el
mantenimiento tanto para el desarrollador original como para alguien nuevo.

Otra cosa a tener en cuenta, y pasar a los desarrolladores, es que "nuevo" no siempre significa "mejor".   Los
sistemas de bases de datos cambian constantemente y las herramientas disponibles en estos sistemas
cambian para siempre.  Muchas veces encontraremos una nueva forma "moderna" de realizar una tarea y,
con demasiada frecuencia, esa se convierte en la única forma en que realizamos esa tarea en particular.  Es
importante saber cómo funciona el sistema y saber que a veces hay más de una forma de lograr un
objetivo.  La única forma real de saber qué método es el mejor es probar cada método.

Configurar procedimientos de mantenimiento

Este paso es crucial.  Como mínimo, configure un buen proceso de copia de seguridad, asegúrese de que las
estadísticas de la base de datos se mantengan actualizadas y utilice algún tipo de procedimiento de
mantenimiento y optimización de índices.  No hay reglas estrictas y rápidas sobre cómo deben configurarse
porque cada sistema es diferente.  Implementarlos en función de la mejor información que tenga sobre el
sistema, luego monitorearlos para determinar si se necesitan modificaciones.

Para sus procedimientos de copia de seguridad, asegúrese de que está ejecutando copias de seguridad
periódicas y de que estas copias de seguridad son accesibles de manera oportuna que satisfagan las
necesidades y requisitos de su empresa.  Si necesita una recuperación puntual para una base de datos,
configúrela en el modelo de recuperación FULL y asegúrese de que el procedimiento de copia de seguridad
incluya una copia de seguridad de los archivos de registro de transacciones en el intervalo necesario.  
Además, y esto es de suma importancia, pruebe sus copias de seguridad.  Pruebe sus copias de seguridad
restaurándolas en algún lugar para asegurarse de que las copias de seguridad sean buenas y que tanto sus
procedimientos de copia de seguridad como los de restauración funcionen correctamente.

Dependiendo de la actividad de su(s) base(s) de datos, configure algunos procedimientos que garanticen que
las estadísticas de la base de datos se mantengan actualizadas.  Cuanto más cambien los datos en su base de
datos, más a menudo tendrá que hacerse esto.  Las estadísticas desactualizadas pueden tener un gran
impacto en el rendimiento de las consultas.

Mantener sus índices en buena forma también es fundamental para un rendimiento óptimo.   La frecuencia
con la que emplee el procedimiento de mantenimiento del índice dependerá de la actividad de la base de
datos.  También habrá que determinar el tipo de procedimiento a realizar, como la reorganización o
reconstrucción de índices.  Probablemente habrá una combinación de ambos y tendrá que decidir cuándo se
deben realizar estos procedimientos.  Tenga en cuenta que el mantenimiento del índice es un proceso
intensivo, por lo que es mejor programarlo durante los momentos de menor uso de la base de datos.

Al igual que todo lo demás, hay una tonelada de información sobre cómo realizar estos procedimientos de
mantenimiento, así como herramientas que puede comprar que lo ayudarán a configurarlos.  Si desea una
ventaja en la configuración de sus propios procedimientos, le recomendaría visitar
https://ola.hallengren.com/ para obtener información y ejemplos excelentes.

Recopilar datos de rendimiento


Consultoría en IT con especialización en Bases de Datos Isaias.islas@live.com.mx
Av. Aztecas 470 Col. Ajusco Alc. Coyoacán CP 04300 CDMX aurora.argonza@gmail.com
Tel: (55) 5402 0974 adrimc00@hotmail.com
CONSULTORÍA BASES D E D ATO S - SQ L SERVER

Desafortunadamente, esta es un área de administración de bases de datos que a menudo se pasa por alto. 
La recopilación de datos de rendimiento es invaluable para identificar problemas potenciales y poder
abordarlos antes de que se conviertan en problemas reales (y comience a recibir esas temidas llamadas
telefónicas).

SQL Server le ofrece la posibilidad de crear sus propios procedimientos de recopilación mediante el uso de
vistas de administración dinámica (DMV), que se introdujeron con SQL Server 2005.  Se introdujeron para
ser utilizados en lugar de consultar las tablas del sistema directamente y el número de DMV continúa
creciendo con cada nueva versión de SQL Server.  Estos DMV son simplemente vistas que puede consultar
como cualquier vista que cree.  Sin embargo, estas vistas contienen mundos de información sobre lo que
está sucediendo dentro de SQL Server.  Algunos DMV se aplican a todo SQL Server y otros son específicos de
cada base de datos.  Todos son parte del esquema sys y todos comienzan con dm_.

Con estas vistas, puede configurar trabajos que recopilen periódicamente información sobre cosas como
sesiones, conexiones, ejecución de consultas, información de E/S, información del sistema operativo e
información de base de datos, solo por nombrar algunas.  El almacenamiento de esta información le
proporcionará un historial de rendimiento y puede utilizar estos datos para realizar consultas ad-hoc para la
solución de problemas o la creación de informes para su revisión periódica.

Por supuesto, siempre existe la opción, si tiene algo de dinero, de comprar aplicaciones que hagan la mayor
parte del trabajo sucio por usted y proporcionen un montón de informes bonitos, gráficos y casi cualquier
otra cosa que necesite.  Además, todas esas aplicaciones proporcionan cierto nivel de personalización para
que pueda adaptar el monitoreo a sus necesidades específicas.

Configurar alertas

En este punto, ha ayudado a diseñar y compilar el servidor y las bases de datos.  También ha configurado
procedimientos para realizar el mantenimiento de rutina en su sistema y para recopilar datos de
rendimiento.  Todo eso es genial, pero ahora necesita configurar algún tipo de sistema de alerta para
notificarle sobre cualquier problema o anomalía en su sistema.  Como mínimo, querrá saber si alguno de sus
procedimientos falla.  También puede configurar alertas para notificarle si ciertos datos han caído fuera de
los rangos aceptables para que pueda revisar sus datos para detectar posibles problemas.

Para configurar alertas para cualquier cosa que se ejecute a través de un trabajo del Agente SQL Server,
simplemente use la parte Notificación de la configuración del trabajo.  Puede configurar estos trabajos en
correo electrónico, página, realizar un envío neto o simplemente escribir en el registro de eventos.

Para configurar alertas dentro de un procedimiento almacenado, aproveche la función Correo electrónico de
base de datos en SQL Server.  Una vez configurado, puede utilizar los procedimientos del Correo electrónico
de base de datos para enviar correos electrónicos con formato de casi cualquier forma que desee, incluido el
envío de los resultados de las consultas dentro del correo electrónico.

Si está utilizando una aplicación comprada, la aplicación le proporcionará algún método para notificarle
cualquier alerta.  Lo más probable es que le permita configurar umbrales para las alertas y le permita decidir
cómo se enviarán estas alertas, en función de su gravedad.

Conozca su SQL Server y cómo funciona

Conozca su sistema y cómo funciona para que pueda identificar aquellas cosas que están fuera de la norma. 
Si tiene el lujo de comenzar esto en un servidor nuevo, puede obtener algunos datos de referencia
realmente buenos que le proporcionarán un historial completo del servidor y harán que sea muy fácil
Consultoría en IT con especialización en Bases de Datos Isaias.islas@live.com.mx
Av. Aztecas 470 Col. Ajusco Alc. Coyoacán CP 04300 CDMX aurora.argonza@gmail.com
Tel: (55) 5402 0974 adrimc00@hotmail.com
CONSULTORÍA BASES D E D ATO S - SQ L SERVER

identificar el impacto de nuevas bases de datos, procesos o influencias externas en el servidor.   Incluso si no
tiene el lujo de comenzar con un nuevo servidor, aún puede usar las sugerencias que se han mencionado en
este artículo y aprender cómo funciona su sistema.  Con el tiempo, será más fácil identificar esas anomalías.

Identifique los pequeños problemas y evite que se conviertan en grandes problemas

Ahora que ha incorporado todo el mantenimiento, monitoreo, alerta y aprendizaje, use esa información.   No
solo recopile la información y nunca acceda a ella.  No ignores las alertas.  Utilice toda esta información para
encontrar cualquier problema antes de que el usuario final lo encuentre.  Esto le permitirá tomar las
medidas adecuadas para evitar un problema mayor.

Si encuentra que la información que está recopilando, o los procedimientos que está ejecutando, no son
útiles, cámbielos o elimínelos.  La administración de bases de datos no es algo de una sola vez.  La
administración de la base de datos es muy fluida y nada permanece igual.

Nunca dejes de Aprender

El consejo más importante que siento que podría dar a cualquier DBA, nuevo o experimentado, es que
nunca deje de aprender.  La tecnología cambia tan rápido que es imposible mantenerse al día con todo, pero
siempre esté atento a lo que es nuevo y lo que ha cambiado.  Elige una o dos cosas a la vez y profundiza en
ellas.

Cuida estas cosas y estás en camino de convertirte en un DBA invisible, en el buen sentido.

Finalmente, aunque la invisibilidad es algo bueno cuando se trata de sus usuarios finales, no es
necesariamente bueno ser invisible para todos.  Manténgase en contacto con otras personas en su
departamento de TI.  Mantenga una relación sólida con sus diseñadores y desarrolladores de bases de
datos.  Asegúrese de que tengan todo lo que necesitan de usted y hágales saber que está allí para
ayudarlos.  Además, manténgase en contacto con su(s) gerente(s).  Manténgalos informados de lo que está
haciendo.  Si usted es realmente bueno para mantener sus sistemas funcionando sin problemas, entonces,
al igual que sus usuarios finales, es posible que no piensen en usted o en sus sistemas muy a menudo y es
posible que no se den cuenta del arduo trabajo que se necesita para mantener los sistemas funcionando de
esa manera.

Consultoría en IT con especialización en Bases de Datos Isaias.islas@live.com.mx


Av. Aztecas 470 Col. Ajusco Alc. Coyoacán CP 04300 CDMX aurora.argonza@gmail.com
Tel: (55) 5402 0974 adrimc00@hotmail.com

También podría gustarte