La lista de control de
mantenimiento de SQL Server
para administradores ocupados
Mantenga el rendimiento óptimo de su SQL Server
con esta guía sencilla y práctica.
Tabla de contenido
1. Introducción
2. Tareas del mantenimiento diario
• Comprobar los trabajos del agente de SQL Server
• Revisar los respaldos de la base de datos
• Monitorear el espacio en disco y el crecimiento de
la base de datos
• Analizar las métricas de rendimiento
• Escanear los logs de error
3. Tareas del mantenimiento semanal
• Reconstruir o reorganizar los índices
• Actualizar las estadísticas
• Auditar los trabajos y las alertas de SQL Server
• Revisar el uso de los recursos
• Comprobar los bloqueos o interbloqueos
4. Tareas del mantenimiento mensual
• Ejecutar DBCC CHECKDB
• Probar las restauraciones de copias de seguridad
• Aplicar las actualizaciones de seguridad
• Limpiar los logs y datos antiguos
• Optimizar las consultas
5. Tareas del mantenimiento trimestral
• Auditar los permisos de los usuarios
• Probar el plan de recuperación de desastres
• Revisar la configuración de SQL Server
• Realizar la planificación de la capacidad
• Evaluar el uso del índice
6. Consejos y escenarios de resolución de problemas
• SQL Server no se inicia
• Errores de tiempo de espera de la consulta
• El log de transacciones está lleno
• Alto uso de memoria por parte de SQL Server
• Rendimiento lento de tempdb
7. Preguntas frecuentes
8. Cómo ayuda ManageEngine Applications Manager
9. Conclusión
Introducción
SQL Server es la base de muchas empresas, ya que permite ejecutar aplicaciones
críticas y proteger datos valiosos. Para garantizar el rendimiento, la fiabilidad y la
seguridad óptimos de su entorno SQL Server, es esencial contar con una estrategia
de mantenimiento bien definida.
Este e-book proporciona una lista de control exhaustiva en la que se describen las
tareas de mantenimiento esenciales para intervalos diarios, semanales, mensuales y
trimestrales. Si implementa estas prácticas recomendadas, podrá:
• Abordar los problemas de forma proactiva: Identifique y resuelva los
cuellos de botella en el rendimiento, los problemas de integridad de los
datos y las vulnerabilidades de seguridad antes de que afecten a las
operaciones de su empresa.
• Maximizar el tiempo de actividad del sistema: Minimice el riesgo de
interrupciones inesperadas y tiempos de inactividad, garantizando la
continuidad operativa.
• Optimizar la utilización de los recursos: Mejore la eficiencia de su entorno
SQL Server identificando y resolviendo los problemas de contención de
recursos.
• Mejorar la salud general de la base de datos: Mantenga una infraestructura
de bases de datos sólida y estable que pueda respaldar de manera efectiva
las necesidades cambiantes de su negocio.
Además, exploramos cómo ManageEngine Applications Manager puede agilizar
sus esfuerzos de mantenimiento, proporcionando una plataforma centralizada para
monitorear, gestionar y optimizar su entorno SQL Server con mayor eficiencia y
facilidad.
Deje que este e-book sea su guía para establecer un sólido régimen de
mantenimiento de SQL Server, que le permita proteger sus valiosos datos, mejorar
el rendimiento del sistema y garantizar el éxito continuado de su empresa.
Tareas del mantenimiento diario
Hacer estas comprobaciones diarias ayuda a garantizar que su servidor SQL Server
permanezca estable, con capacidad de respuesta y libre de posibles cuellos de
botella en el rendimiento.
1. Comprobar los trabajos del agente de SQL Server
Asegúrese de que todos los trabajos programados (por ejemplo, respaldos,
mantenimiento de índices) se han ejecutado correctamente. Investigue cualquier
fallo inmediatamente.
2. Revisar los respaldos de la base de datos
Verifique que todos los respaldos se realicen exitosamente y compruebe que se
almacenan en la ubicación correcta.
3. Monitorear el espacio en disco y el crecimiento de la base de datos
Compruebe el espacio en disco disponible y monitoree el crecimiento inesperado
de los archivos de la base de datos.
4. Analizar las métricas de rendimiento
Revise el uso de CPU, memoria y E/S del servidor para detectar cuellos de botella.
5. Escanear los logs de error
Busque errores críticos o advertencias en los logs de SQL Server y del visor de
eventos de Windows.
Tareas del mantenimiento semanal
Cuando se completan semanalmente, estas tareas ayudan a optimizar el rendimiento
de la base de datos y a abordar de forma proactiva los problemas que surjan antes de
que se agraven.
1. Reconstruir o reorganizar los índices
Aborde la fragmentación de los índices para mantener el rendimiento de las consultas.
2. Actualizar las estadísticas
Actualice las estadísticas obsoletas para mejorar los planes de ejecución de consultas.
3. Auditar los trabajos y las alertas de SQL Server
Revise la efectividad de los trabajos programados y asegúrese de que las alertas están
configuradas para los problemas críticos.
4. Revisar el uso de los recursos
Identifique patrones o anomalías en el uso de la CPU, la memoria y el disco.
5. Comprobar los bloqueos o interbloqueos
Investigue y resuelva las consultas que causen contención en el sistema.
Lista de control de mantenimiento de SQL Server
1
Tareas del mantenimiento mensual
Una revisión mensual más profunda ayuda a mejorar el rendimiento de SQL
Server y a mantener la salud del sistema a largo plazo.
1. Ejecutar DBCC CHECKDB
Compruebe la integridad de la base de datos para detectar y solucionar los casos de
corrupción.
2. Probar las restauraciones de copias de seguridad
Restaure los respaldos en un entorno que no sea de producción para verificar su
integridad y fiabilidad.
3. Aplicar las actualizaciones de seguridad
Instale los parches más recientes para SQL Server y el SO subyacente.
4. Limpiar los logs y datos antiguos
Archive o elimine los datos antiguos y los logs de transacciones para liberar espacio.
5. Optimizar las consultas
Revise los planes de ejecución de las consultas lentas y optimícelos según sea
necesario.
Tareas del mantenimiento trimestral
Realizar estas actividades de mantenimiento trimestral garantiza que su servidor SQL
Server está alineado con las mejores prácticas, actualizaciones de seguridad y
mejoras de rendimiento.
1. Auditar los permisos de los usuarios
Revise y actualice los controles de acceso para minimizar los riesgos de seguridad.
2. Probar el plan de recuperación de desastres
Simule escenarios de failover y recuperación para asegurarse de estar preparado.
3. Revisar la configuración de SQL Server
Compare los ajustes con las mejores prácticas y actualícelos si es necesario.
4. Realizar la planificación de la capacidad
Analice las tendencias de crecimiento para prever las necesidades de almacenamiento,
CPU y memoria.
5. Evaluar el uso del índice
Identifique los índices no utilizados o de bajo rendimiento y ajústelos respectivamente.
Lista de control de mantenimiento de SQL Server
2
Consejos y escenarios de resolución de
problemas
1. El servidor SQL no se inicia
• Síntomas:
▪ El servicio SQL Server no se inicia o se detiene inesperadamente.
• Causas raíz:
▪ Bases de datos del sistema ausentes o dañadas (por ejemplo, maestra, modelo,
msdb).
▪ Espacio en disco insuficiente para tempdb.
▪ Problemas de permisos para la cuenta de servicio de SQL Server.
• Pasos para resolver:
▪ Comprobar los logs:
◦ Abra los logs de errores de SQL Server o el visor de eventos de Windows para
obtener más detalles.
▪ Verificar los archivos de la base de datos:
◦ Asegúrese de que todos los archivos de bases de datos del sistema se
encuentran en las ubicaciones esperadas (por ejemplo, C:\Archivos de
programa\Microsoft SQL Server\[Link]\ MSSQL\Data).
▪ Restaurar las bases de datos del sistema:
◦ Si las bases de datos del sistema están dañadas, restáurelas a partir de las copias
de seguridad o reconstrúyalas utilizando el comando [Link] /
ACTION=REBUILDDATABASE.
▪ Liberar espacio en el disco:
◦ Libere espacio en el disco donde se encuentra tempdb o mueva tempdb a otro
disco utilizando el comando ALTER DATABASE.
2. Errores de tiempo de espera de la consulta
• Síntomas:
▪ Las aplicaciones reportan errores en el tiempo de espera de las consultas.
• Causas raíz:
▪ Consultas de larga duración o mal optimizadas.
▪ Bloqueo o interbloqueo.
▪ Alta contención de recursos.
• Pasos para resolver:
▪ Identificar las consultas problemáticas:
◦ Utilice sys.dm_exec_requests y sys.dm_exec_query_stats para identificar las
consultas con tiempos de ejecución elevados:
Lista de control de mantenimiento de SQL Server
3
sql
SELECT TOP 5 *
FROM sys.dm_exec_requests
WHERE status = 'running';
▪ Analizar los planes de ejecución:
◦ Compruebe los planes de ejecución para identificar índices ausentes o
vinculaciones ineficientes.
▪ Monitorear los bloqueos e interbloqueos:
◦ Utilice el perfilador de SQL Server o eventos extendidos para registrar los
detalles de bloqueo o interbloqueo.
3. El log de transacciones está lleno
• Síntomas:
▪ Las operaciones de la base de datos fallan con un error "Transaction log full".
• Causas raíz:
▪ El archivo de log no se está truncando.
▪ Grandes transacciones sin confirmar.
▪ Espacio en disco insuficiente.
• Pasos para resolver:
▪ Comprobar el modelo de recuperación:
◦ Ejecute esta consulta para determinar el modelo de recuperación:
sql
SELECT name, recovery_model_desc
FROM [Link];
◦ Si está en modo de recuperación total, asegúrese que se programan
respaldos regulares del log de transacciones.
▪ Hacer una copia de seguridad del log de transacciones:
◦ Libere espacio realizando un respaldo del log:
sql
BACKUP LOG [YourDatabase] TO DISK = 'path\log_backup.trn';
Lista de control de mantenimiento de SQL Server
4
▪ Reducir el archivo de log (corrección temporal):
◦ Si necesita espacio urgentemente, reduzca el archivo de log (no se
recomienda como solución rutinaria):
sql
DBCC SHRINKFILE('YourDatabase_log', 1 );
4. Alto uso de memoria por parte de SQL Server
• Síntomas:
▪ SQL Server consume toda la memoria disponible del sistema, provocando
problemas de rendimiento.
• Causas raíz:
▪ Ajustes inadecuados de la memoria máxima.
▪ Fugas de memoria en consultas o funciones (por ejemplo, tablas en memoria).
• Pasos para resolver:
▪ Ajustar los valores máximos de la memoria:
◦ Asigne memoria para SQL Server dejando suficiente para el SO:
sql
EXEX sp_Configure 'max server memory', 8192;
RECONFIGURE;
▪ Comprobar los consumidores de la memoria:
◦ Identifique las consultas que utilizan mucha memoria:
sql
SELECT * FROM sys.dm_exec_memory_clerks
ORDER BY pages_kb DESC;
5. Rendimiento lento de tempdb
• Síntomas:
▪ Las consultas que utilizan tempdb son inusualmente lentas.
• Causas raíz:
▪ Contención de disco en el almacenamiento tempdb.
▪ Archivos tempdb insuficientes o mal configurados.
Lista de control de mantenimiento de SQL Server
5
• Pasos para resolver:
▪ Optimizar los archivos tempdb:
◦ Asegúrese de que dispone de un archivo tempdb por núcleo de CPU (hasta
ocho archivos para la mayoría de las cargas de trabajo).
sql
ALTER DATABASE tempdb
ADD FILE (NAME = tempdev2, FILENAME = 'path\[Link]',
SIZE = 500MB);
▪ Mover tempdb a un almacenamiento más rápido:
Utilice ALTERAR BASE DE DATOS para reubicar los archivos tempdb
Preguntas frecuentes
P: ¿Con qué frecuencia debo ejecutar DBCC CHECKDB?
R: Lo ideal es ejecutar DBCC CHECKDB semanal o mensualmente, según el tamaño y
la importancia de la base de datos.
P: ¿Qué debo hacer si fallan los respaldos?
R: Empiece comprobando si hay errores en los logs de trabajos del agente de SQL
Server. Entre las causas más comunes se incluyen un espacio en disco insuficiente,
problemas de red o problemas de permisos de archivo.
P: ¿Cómo puedo solucionar los interbloqueos frecuentes?
R: Utilice los eventos extendidos o el gráfico de interbloqueo de SQL Server para
identificar las consultas que causan contención y optimizarlas o ajustar las estrategias
de indexación.
P: ¿Cuándo debo reconstruir o reorganizar los índices?
R: Reorganice los índices si la fragmentación se encuentra entre el 5 y el 30%.
Reconstruya los índices si la fragmentación supera el 30%.
P: ¿Puedo automatizar estas tareas?
R: Sí, muchas tareas se pueden automatizar utilizando trabajos del agente de SQL
Server, scripts de PowerShell o una solución de monitoreo dedicada como
ManageEngine Applications Manager.
Lista de control de mantenimiento de SQL Server
6
Cómo puede ayudar Applications
Manager
Es crucial darle mantenimiento a su SQL Server para garantizar un alto rendimiento,
fiabilidad y seguridad. El monitoreo regular y el mantenimiento proactivo ayudan a
prevenir los problemas antes de que interrumpan las operaciones. Aquí tiene una
lista de control exhaustiva para guiar su rutina de mantenimiento de SQL Server,
haciendo hincapié en cómo ManageEngine Applications Manager puede
simplificar y mejorar el proceso.
Estrategia de respaldo y restauración
Una sólida estrategia de respaldo y recuperación es fundamental para la
recuperación en caso de desastre. Programe copias de seguridad completas,
diferenciales y del log de transacciones con regularidad, y pruebe las
restauraciones periódicamente para validar la integridad de los datos. Almacene las
copias de seguridad en ubicaciones seguras y externas para evitar la pérdida de
datos en caso de daños físicos o fallos del sistema. Applications Manager le ayuda a
monitorear el estado de las copias de seguridad, le avisa en caso de fallas y le brinda
información detallada sobre los tiempos de finalización de los trabajos de respaldo,
garantizando que sus copias de seguridad sigan siendo confiables.
Mantenimiento del índice
Es esencial optimizar los índices para mantener un rendimiento rápido de las
consultas, ya que la fragmentación puede degradar la eficiencia con el tiempo.
Reorganice o reconstruya periódicamente los índices de acuerdo con los niveles de
fragmentación y revise los planes de ejecución para comprobar si faltan índices o si
su rendimiento es insuficiente. Applications Manager complementa este proceso
monitoreando el rendimiento de las consultas de SQL Server, destacando las
consultas lentas y señalando los índices problemáticos para mantener las
operaciones funcionando sin problemas.
Comprobaciones de integridad de la base de datos
La integridad de la base de datos es imprescindible para garantizar la fiabilidad y
evitar interrupciones relacionadas con la corrupción. Realice operaciones regulares
con DBCC CHECKDB para detectar la corrupción y programar comprobaciones de
consistencia tanto para las bases de datos como para los logs de transacciones.
Aunque Applications Manager no ejecuta directamente las comprobaciones de
integridad, proporciona un monitoreo continuo del rendimiento y la detección de
anomalías, lo que permite realizar oportunamente evaluaciones de integridad.
Monitoreo del rendimiento
El rendimiento de SQL Server depende de monitorear métricas críticas como CPU,
memoria, E/S de disco y tiempos de ejecución de consultas. Establezca líneas de
base de rendimiento para identificar desviaciones y abordar los cuellos de botella
de forma proactiva.
Lista de control de mantenimiento de SQL Server
7
Applications Manager ofrece información detallada en tiempo real sobre estas
métricas y emite alertas oportunas en caso de anomalías, lo que permite actuar con
rapidez para mantener un alto rendimiento y minimizar el impacto en los usuarios.
Seguridad y cumplimiento
Para proteger los datos sensibles y cumplir los requisitos normativos debe vigilar de
forma permanente. Audite periódicamente los permisos de los usuarios de la base
de datos, aplique los parches de seguridad oportunos y active el cifrado de los datos
confidenciales en reposo y en tránsito. Applications Manager mejora su postura de
seguridad monitoreando los intentos de acceso no autorizado, controlando los
cambios de configuración y proporcionando visibilidad de las posibles
vulnerabilidades.
Gestión del espacio en disco
Una gestión eficiente del espacio en disco es vital para evitar la inactividad debido al
almacenamiento insuficiente. Monitoree el crecimiento de la base de datos, asigne
el espacio adecuado para los archivos de log y archive rutinariamente los datos
antiguos para liberar recursos. Applications Manager monitorea el espacio en disco
en tiempo real, generando alertas en caso de poco almacenamiento y ofreciendo
análisis de tendencias para garantizar una acción proactiva antes de que los
problemas se intensifiquen.
Gestión de trabajos y alertas
Los trabajos de SQL Server automatizan las tareas rutinarias, pero los fallos o retrasos
pueden interrumpir las operaciones. Revise periódicamente los trabajos
programados, establezca alertas para los fallos y documente las configuraciones
para mantener la consistencia. Applications Manager simplifica este proceso
automatizando el monitoreo de los trabajos, emitiendo alertas instantáneas en caso
de fallos y supervisando las tendencias de ejecución para garantizar que las tareas se
completen sin interrupciones.
Conclusión:
Si sigue esta exhaustiva lista de control y aprovecha las funciones de monitoreo y
alerta de ManageEngine Applications Manager, podrá mantener un entorno SQL
Server optimizado. Applications Manager ayuda a optimizar los procesos de
mantenimiento, garantizando que sus bases de datos estén protegidas, sean
eficientes y estén preparadas para rendir al máximo.