Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Planes de Mantenimiento SQL Server PDF
Planes de Mantenimiento SQL Server PDF
MANUAL TÉCNICO
Introducción.................................................................................................................................................... 3
Tareas Mantenimiento ................................................................................................................................ 3
Recomendaciones y Aclaraciones .......................................................................................................... 4
Tarea actualizar estadísticas ................................................................................................................. 4
Tarea Reorganizar Índices ..................................................................................................................... 5
Tarea Recompilar (Volver a generar índices) ................................................................................. 5
Tarea Limpieza Mantenimiento .......................................................................................................... 6
Tarea reducir base de datos................................................................................................................. 7
Preparación de un Plan de Mantenimiento (Caso Práctico) ......................................................... 8
Agente SQL................................................................................................................................................. 8
Preparación Plan de Mantenimiento (Asistente)........................................................................ 10
Reducir la Base de Datos ..................................................................................................................... 13
Recompilar Índices ................................................................................................................................ 16
Actualizar Estadísticas........................................................................................................................... 18
Limpieza del Historial ........................................................................................................................... 20
Copias de Seguridad en la BBDD ..................................................................................................... 22
Limpieza de Mantenimiento .............................................................................................................. 26
Plan Mantenimiento - Metodología Gráfica ................................................................................ 31
SQL Server 2014 Integration Services (SSIS) incluye un conjunto de tareas que realizan
funciones de mantenimiento de bases de datos. Estas tareas se suelen usar en los planes
de mantenimiento de bases de datos, pero también se pueden incluir en paquetes de
SSIS. Para obtener más información, vea Asistente para planes de mantenimiento y
Planes de mantenimiento.
Tareas Mantenimiento
Tarea Descripción
Tarea Copia de seguridad Realiza distintos tipos de copias de seguridad de bases de datos de SQL Server.
de la base de datos
Tarea Ejecutar trabajo del Ejecuta trabajos del Agente SQL Server.
Agente SQL Server
Tarea Limpieza de historial Elimina entradas de las tablas de historial de la base de datos msdb de SQL
Server.
Tarea Limpieza de Quita archivos relacionados con planes de mantenimiento, entre los que se
mantenimiento incluyen informes creados a partir de planes de mantenimiento y archivos de
copia de seguridad de la base de datos.
Tarea Notificar al operador Envía mensajes de notificación a operadores del Agente SQL Server.
Tarea Volver a generar Vuelve a generar los índices de tablas y vistas de bases de datos de SQL Server.
índice
Tarea Reorganizar índice Reorganiza los índices de tablas y vistas de bases de datos de SQL Server.
Tarea Reducir base de datos Reduce el tamaño de los datos y los archivos de registro de base de datos de
SQL Server.
Tarea Actualizar estadísticas Actualiza la información sobre la distribución de valores de clave para uno o más
conjuntos de estadísticas en la tabla o vista especificada.
En primer lugar, aclaramos qué son las estadísticas: SQL Server 2014 permite crear
información estadística acerca de la distribución de valores en una columna. El
optimizador de consultas utiliza esta información estadística para determinar el plan de
consulta óptimo, realizando una estimación del costo de usar un índice para evaluar la
consulta.
Es decir, el planificador de consultas de SQL usará estas estadísticas para decidir cuál será
la mejor forma de ejecutar una consulta.
Importante: Esta tarea sólo tiene sentido ejecutarla si previamente hemos deshabilitado
la opción de recalcular estadísticas automáticamente. Si la BBDD está configurada para
que recalcule las estadísticas automáticamente no es necesario programar esta tarea.
Suele ser recomendable deshabilitar esta opción en la BBDD y programar una tarea de
este tipo, principalmente porque el cálculo automático de estadísticas consume
bastantes recursos del servidor. Lo recomendable, por tanto, sería deshabilitar el cálculo
automático y poner una tarea todas las noches que las recalcule.
Los índices, como todos sabemos, sirven para acelerar determinadas consultas SQL que
se lancen contra una tabla. Hacer una consulta sobre un campo que está indexado será
mucho más rápido y eficiente que hacerlo sobre un campo que no lo esté. Si hay un
índice, se puede llegar en muy pocos pasos a un dato. En cambio, si no lo hay, el servidor
ha de recorrer la tabla linealmente hasta encontrarlo.
SQL Server 2014 Database Engine (Motor de base de datos de SQL Server 2014) mantiene
índices automáticamente cada vez que inserta, actualiza o elimina operaciones realizadas
en los datos subyacentes.
Con el tiempo, estas modificaciones pueden hacer que la información del índice se
disperse por la base de datos (se fragmente). La fragmentación ocurre cuando los índices
tienen páginas en las que la ordenación lógica, basada en el valor de clave, no coincide
con la ordenación física dentro del archivo de datos. Los índices muy fragmentados
pueden reducir el rendimiento de la consulta y ralentizar la respuesta de la
aplicación.
Por tanto, la tarea de reorganizar índices revisa los índices ya creados en la BBDD y los
desfragmenta o reorganiza, si es necesario, para que sean más eficientes.
Este tipo de tareas, en principio, se podría realizar cada noche al igual que la de actualizar
estadísticas.
La tarea Volver a generar índice vuelve a generar los índices de las tablas y vistas de
bases de datos de SQL Server. Hace lo mismo que la tarea de Reorganizar, pero lo que
hace es eliminarlo y volverlo a crear desde cero.
Si todas las noches ejecutamos la tarea de Reorganizar índices, esta tarea de volver a
regenerar no hace falta hacerla diariamente, y se podría ejecutar semanal, quincenal o
mensualmente.
Si decidimos ejecutar esta tarea de regenerar todas las noches, no sería necesario
reorganizar los índices. Por tanto, otra opción sería pasar esta tarea cada noche.
El uso de la tarea Limpieza de mantenimiento permite que un paquete pueda quitar los
archivos de copia de seguridad o los informes del plan de mantenimiento del
servidor especificado. La tarea Limpieza de mantenimiento incluye una opción para
quitar un archivo específico o un grupo de archivos de una carpeta. También puede
especificar la extensión de los archivos que desea eliminar.
Normalmente, conviene quitar los archivos antiguos que ya no son necesarios. La tarea
Limpieza de mantenimiento se puede configurar para eliminar archivos con una
antigüedad específica (por ejemplo, se puede configurar la tarea para eliminar archivos
que tienen más de cuatro semanas). También es posible especificar la antigüedad de los
archivos que desea eliminar en días, semanas, meses o años. Si no especifica la
antigüedad mínima de los archivos que desea eliminar, se eliminan todos los archivos
del tipo especificado.
En SQL Server 2014, pueden reducirse todos los archivos de una base de datos para
quitar las páginas que no se utilizan. Aunque Database Engine (Motor de base de datos)
aprovechará el espacio de manera efectiva, existen ocasiones en las que un archivo no
tiene por qué ser tan grande como lo era anteriormente. En estos casos, la reducción del
archivo puede ser necesaria. Pueden reducirse los archivos de datos y los archivos de
registro de transacciones. Los archivos de la base de datos se pueden reducir
manualmente, en grupo o de uno en uno; también se puede configurar la base de datos
para que se reduzca automáticamente a intervalos determinados.
La reducción es más efectiva después de una operación que cree mucho espacio
no utilizado (por ejemplo, una operación para truncar o eliminar tablas).
La mayoría de las bases de datos requieren que haya espacio disponible para
realizar las operaciones diarias normales. Si se reduce una base de datos de forma
reiterada y su tamaño vuelve a aumentar, esto indica que el espacio que se redujo
es necesario para las operaciones habituales. En estos casos, no sirve reducir la
base de datos reiteradamente.
La reducción no mantiene el estado de fragmentación de los índices de la base
de datos y generalmente aumenta la fragmentación hasta cierto punto. Por
ejemplo, no se debe reducir una base de datos o archivo de datos después de
volver a generar los índices. Esta es otra razón para no reducir la base de datos
reiteradamente.
Por tanto este tipo de tareas no se debería ejecutar diariamente. Lo ideal sería realizar
esta tarea quincenal o mensualmente, y siempre antes del plan de mantenimiento que
incluya volver a generar índices o regenerarlos.
Agente SQL
A partir de aquí, consiste en editar cada una de ellas con las características que se desean
programar. Para editar las tareas, haremos clic en el botón “Siguiente” e irán apareciendo
las pantallas de edición.
Es necesario definir:
La base de datos a la cual interesa que ejecute dicha tarea (bases de datos
específicas).
El tamaño máximo de la base de datos antes de reducirla (incremento en MB).
El espacio disponible tras la reducción en porcentaje.
Si queremos que se mantenga el espacio liberado en los archivos de datos o
queremos devolver el espacio liberado al sistema operativo.
Para esta tarea, se indicará la base de datos que interese en cada momento.
Respecto al espacio disponible tras la reducción definiremos el 10% por defecto, aunque,
al igual que antes, dicho dato podrá variar en función del tipo de base de datos y uso de
la misma.
En éste definiremos:
La base de datos.
El objeto.
La selección.
Se seleccionará si reorganizar las páginas con la cantidad predeterminada de
espacio disponible o cambiar el (%) de espacio disponible por página.
En las opciones avanzadas, existe la opción de ordenar resultados de temdb, o
mantener el índice en línea al volver a indizar. Además de definir la programación
para esta tarea en concreto a través del formulario anterior.
Con un tipo de programación periódica, una frecuencia semanal que se repita cada
semana, todos los domingos a las 08.00 horas. Es importante destacar que no se pueden
solapar la ejecución de las tareas en el tiempo. Por este motivo, se dejan tres horas de
margen entre la tarea anterior y la presente. Con una fecha de inicio desde el día que se
programa (06-10-15) y sin fecha de finalización.
Deberemos definir:
La base de datos.
El objeto (tablas, vistas o tablas y vistas).
La selección.
Para actualizar, existen tres opciones: todas las estadísticas existentes, sólo
estadísticas de columna o sólo estadísticas de índice.
Para el tipo de examen existen dos opciones más: examen completo o muestrear
por un número de porcentaje o filas.
En este caso, se selecciona la base de datos que convenga, como objeto se seleccionarán
las tablas y vistas, como antes. En la opción de actualizar, se marcará la casilla de
verificación de “Todas las estadísticas existentes”, y el tipo de examen “Examen
completo”.
En éste se define una programación periódica, con una frecuencia semanal que suceda
una vez a las 11.00 horas del domingo. En este caso también se deja un pequeño margen
para no solapar las tareas en el tiempo. Con una fecha de inicio desde el día que se
programa (06-10-15) y sin fecha de finalización. Aunque la programación de la tarea
variará en función del tipo de base de datos y su uso.
En este caso, normalmente se seleccionarán los tres tipos de datos históricos para
eliminar, con una conexión local y se debe indicar el tiempo para quitar los datos
históricos. Se definirá que quite los datos históricos anteriores a cuatro semanas, aunque
dependerá del tipo de base de datos y de su uso.
En esta se define una programación periódica, con una frecuencia semanal que suceda
una vez a las 14.00 horas del domingo. También se deja un pequeño margen de tiempo
para no solapar las tareas en el tiempo. Con una fecha de inicio desde el día que se
programa (06-10-15) y sin fecha de finalización. Aunque la programación de la tarea
variará en función del tipo de base de datos y su uso.
Para editar la tarea Copias de Seguridad en la BBDD (completa), se especificarán las bases
de datos específicas a copiar. Como componente de copia de seguridad marcaremos
“Base de datos”, e indicaremos dónde se almacenará la copia (en Disco, Cinta o Url).
Además existen otras características que definir, como el destino donde se almacenarán
las copias.
También podremos indicar el tiempo en el que expirarán las copias de seguridad. Por
defecto, propone 14 días (Es decir, las copias realizadas las mantendrá durante 14 días).
Ahora bien, este dato se cambiará en función del espacio disponible en el disco destino
(o directorio destino de la copia) y del tamaño de la copia (fichero .bak), del tipo de la
base de datos y de su uso.
En esta tarea, es necesario que las copias de seguridad se realicen periódicamente, con
una frecuencia diaria (mayor que en las demás tareas), una vez al día a la 01.00 horas.
Con una fecha de inicio desde el día que se programa (06-10-15) y sin fecha de
finalización.
Definiremos que elimine los archivos de copias de seguridad, en la ubicación del archivo
marcaremos la casilla de verificación de “Buscar en carpeta y eliminar archivos según
su extensión”. Marcaremos la casilla de verificación de “Eliminar archivos en función
de la antigüedad del archivo en el tiempo de ejecución de la tarea”.
En ésta define una programación periódica, con una frecuencia semanal que suceda una
vez a las 17.00 horas del domingo. En este caso también se deja un pequeño margen de
tiempo para no solapar las tareas en el tiempo. Con una fecha de inicio desde el día que
se programa (06-10-15) y sin fecha de finalización. Aunque la programación de la tarea
variará en función del tipo de base de datos y su uso. En el menú inferior de la pantalla,
aparece el resumen de la programación de la pantalla.
El Asistente para los planes de mantenimiento realiza una comprobación del estado de
cada una de las tareas que se han programado y configurado. Para finalizar la
configuración y programación del Plan de Mantenimiento, se hará clic en “Cerrar”.
Existe otra forma de generar los planes de mantenimiento sin el Asistente de Planes de
Mantenimiento. Se trata de una metodología gráfica, desde Microsoft SQL Server
Management Studio. Consiste en ir arrastrando las tares al menú de la parte derecha y
unirlas con flechas, para definir la secuencia de tareas a ejecutar. Existen tres tipos de
flechas (precedencias):
Flecha verde: Indica que hasta que no esté correcta la tarea precedente, no se
ejecuta la siguiente.
Flecha azul: Indica que hasta que no concluya la tarea precedente, no se ejecuta
la siguiente.
Flecha roja: Indica que hasta que no exista un error en la tarea precedente, no se
ejecuta la siguiente.
Una vez dibujadas, con el botón derecho o haciendo doble clic en la tarea, se accede a
las pantallas de edición de las mismas. Al final quedará un dibujo parecido a este si
únicamente se configura un único plan: