Plan de mantenimiento NetSupport ServiceDesk

Anuncio
TotemGuard Digital Security
Plan de mantenimiento
NetSupport ServiceDesk
para un funcionamiento óptimo
TotemGuard.com
1
902 360 645
TotemGuard Digital Security
Índice
INTRODUCCION.......................................................................................................................................3
PLAN DE MANTENIMIENTO.....................................................................................................................4
1. Copia de seguridad (automática)......................................................................................................4
2. Programación de la copia de seguridad (automática).......................................................................5
3. Tratamiento del log de transacciones (automática)........................................................................10
4. Re-indexación de índices (manual).................................................................................................11
5. Copia de directorios.........................................................................................................................12
TotemGuard.com
2
902 360 645
TotemGuard Digital Security
INTRODUCCION
Con el presente documento, se pretende sentar las bases para programar un plan de
mantenimiento que ayude a mantener los sistemas implicados en NetSupport ServiceDesk con un
funcionamiento óptimo.
Dicho plan de mantenimiento tiene como objeto la prevención de posibles problemas de
espacio y rendimiento, tanto del servidor donde se aloja la base de datos NetSupport ServiceDesk,
como el propio servidor que mantiene el servicio IIS con NetSupport ServiceDesk.
Para ello, se propone como ejemplo, el siguiente plan de mantenimiento, que puede servir
como base para la elaboración de un plan de mantenimiento propio. En él, se detallan procedimientos,
como por ejemplo el de realizar una copia de seguridad de la base de datos, por lo menos, una vez a
la semana. Esto no significa que necesariamente se deba realizar un backup semanal, sino que
dependiendo de nuestras necesidades, la frecuencia de dicha copia puede incrementarse, por ejemplo
a una copia al día, si así lo requiriese nuestro entorno.
Así pues, el plan de mantenimiento descrito a continuación, aunque a modo de ejemplo,
cumple con las necesidades de la mayoría de entornos, pero deberá ser convenientemente revisado
para adaptarlo al entorno final de cada instalación de NetSupport ServiceDesk.
NOTA IMPORTANTE: El plan de mantenimiento descrito en el presente documento, hace
referencia a entornos con SQL Server 2005 (tanto en versiones Express, como en versiones Standard
y Enterprise). Sin embargo, muchos de los aspectos aquí mencionados, servirán de base para la
creación de planes para otras versiones de SQL Server.
TotemGuard.com
3
902 360 645
TotemGuard Digital Security
PLAN DE MANTENIMIENTO
1. Copia de seguridad (automática)
Realizar una tarea programada encargada de ejecutar una copia de seguridad completa y verificada de
la base de datos, de forma periódica y automática. Se recomienda programar la ejecución de dicha
tarea un mínimo de una vez por semana, y siempre en horas en las que la carga de trabajo del SQL
Server sea mínima (típicamente, por las noches, fuera del horario laboral).
Para ello, se creará un archivo backupSD.sql con un código como el que sigue:
/*Nombre y destino del backup*/
DECLARE @BackupName nvarchar(100)
SET @BackupName = N'ServiceDesk' + N' '
+ STR(DATEPART(year,GETDATE()), 4, 0)
+ REPLACE(STR(DATEPART(month,GETDATE()), 2,0), N' ', N'0')
+ REPLACE(STR(DATEPART(day,GETDATE()), 2,0), N' ', N'0')
DECLARE @BackupFile nvarchar(600)
SET @BackupFile = N'C:\'+ @BackupName + N'.bak'
/*Proceso de copia de seguridad*/
BACKUP DATABASE [ServiceDesk]
TO DISK = @BackupFile WITH FORMAT, INIT, MEDIANAME = N'ServiceDesk',
NAME = @BackupName, SKIP, NOREWIND, NOUNLOAD, STATS = 10
/*Proceso de verificacion*/
declare @backupSetId as int
select @backupSetId = position
from msdb..backupset where
database_name=N'ServiceDesk'
and backup_set_id=(select max(backup_set_id) from msdb..backupset where
database_name=N'ServiceDesk' )
if @backupSetId is null begin raiserror(N'Error de comprobación. No se encuentra la
información de copia de seguridad para la base de datos ''ServiceDesk''.', 16, 1) end
RESTORE VERIFYONLY
FROM DISK = @BackupFile
WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
NOTA: Por defecto, la base de datos de NetSupport ServiceDesk, se llama “ServiceDesk” en la versión
3 y superior, y “DNAHelpdesk” en las versiones anteriores. Se deberá adaptar el script al nombre
utilizado en la instalación del ServiceDesk.
Este archivo .sql, se podrá generar desde la herramienta de consultas del SQL Server Management
Studio, o directamente desde un editor de textos como el Bloc de Notas.
TotemGuard.com
4
902 360 645
TotemGuard Digital Security
Se recomienda probar el código anterior antes de dar por bueno el archivo SQL. Para ello, se podrá,
desde el mismo apartado de consultas del SQL Server Management Studio, ejecutar el script
mediante la tecla F5 o desde la opción Consulta → Ejecutar. Nuevamente, se deberá realizar este
testeo en un momento de carga mínima del servidor SQL.
En el ejemplo anterior, se generará un archivo llamado “ServiceDeskYYYYMMDD.bak” donde YYYY
corresponderá con el año actual, MM con el mes, y DD con el día.
El resultado de dicha query, además de generar el archivo .bak con la copia de seguridad, generará
por pantalla el resultado del proceso, indicando:
•
El resultado del proceso de copia, con un mensaje como el siguiente:
◦ “BACKUP DATABASE procesó correctamente X páginas en Y segundos”
•
El resultado de la verificación de la copia de seguridad, con un mensaje como:
◦ “El conjunto de copia de seguridad del archivo 1 es válido”
2. Programación de la copia de seguridad (automática)
Una vez comprobado el correcto funcionamiento del script sql del punto anterior, se deberá programar
una ejecución periódica del mismo para automatizar el proceso de backup.
Para ello, se podrán usar dos alternativas:
•
Usar las tareas programadas del SQL Server Agent
•
o usar las tareas programadas de Windows
Se explicará con más detalle el segundo punto, por ser una solución válida en la mayoría de entornos,
al contrario que la opción del SQL Server Agent.
En cualquier caso, para el primer punto, y siempre y cuando se disponga del componente SQL Server
Agent (las versiones de SQL Server Express no disponen de este complemento) se podrá definir una
nueva tarea encargada de la ejecución periódica del backup, definiendo los pasos del proceso y la
periodicidad de la ejecución.
En cuanto al uso del propio programador del sistema operativo, se deberá seguir el siguiente proceso
para la definición de la tarea:
1. Desde el panel de control de Windows → Tareas programadas, se creará una nueva tarea
mediante la opción “Agregar tarea programada”.
TotemGuard.com
5
902 360 645
TotemGuard Digital Security
2. Aparecerá el asistente para la creación de la nueva tarea programada. Siguiente.
TotemGuard.com
6
902 360 645
TotemGuard Digital Security
3. Se deberá pulsar sobre “Examinar” para buscar el ejecutable SQLCMD.EXE, que se
encontrará típicamente en “C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn”.
4. Una vez seleccionado el ejecutable SQLCMD.EXE, se abrirá una nueva ventana donde
introducir tanto el nombre como la periodicidad de la ejecución. Así por ejemplo, se podrá
introducir como nombre para la tarea programada “Backup DNA” con periodicidad
“Semanalmente”.
TotemGuard.com
7
902 360 645
TotemGuard Digital Security
5. A continuación, se deberá especificar el día (o días) y la hora en la que se realizará la tarea.
Así por ejemplo, se podrá seleccionar el backup para los sábados a las 2 de la madrugada, una
vez a la semana.
6. En la siguiente pantalla, se especificarán las credenciales de la cuenta de usuario encargada
de esta tarea. Se deberá especificar unas credenciales que tengan permisos suficientes para
realizar la tarea.
TotemGuard.com
8
902 360 645
TotemGuard Digital Security
7. Finalmente, se mostrará el resumen de la tarea y una vez pulsado el botón “Finalizar” se habrá
concluido la automatización de la misma mediante el asistente.
8. Una vez concluido el asistente, se observará la tarea en el listado de tareas programadas de
dicha opción en Panel de control → Tareas programadas. Se deberá hacer doble click sobre la
tarea recién creada, para editar los detalles de la misma.
9. En la pestaña “Tarea”, se deberá modificar la instrucción definida en “Ejecutar”, que tendrá una
instrucción como la siguiente:
“C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE”
Añadiendo el siguiente texto al final de la instrucción:
-S servername -E -i C:\Backups\BackupDNA.sql -o C:\Backups\logs\Resultado.txt
Obteniendo así, una instrucción como la siguiente:
“C:\Archivos de programa\Microsoft SQL Server\90\Tools\Binn\SQLCMD.EXE”
-S servername -E -i C:\Backups\BackupDNA.sql -o C:\Backups\logs\Resultado.txt
Donde “servername” deberá sustituirse por el nombre del servidor SQL (o nombre del
Servidor\Instancia), y C:\Backups\BackupDNA.sql por la ruta donde se encuentre el script sql con el
código para la copia y verificación de la base de datos. Igualmente, se ha añadido el parámetro “-o”
para que el resultado de la consulta se almacene en “C:\Backups\logs\Resultado.txt”, con tal de poder
comprobar el resultado de la ejecución.
10. Se deberá clickar sobre “Aplicar” y posteriormente sobre “Aceptar” para guardar los cambios.
11. Finalmente, se recomienda ejecutar la tarea en un momento de poca carga en el SQL Server
haciendo click derecho sobre el nombre de la tarea → Ejecutar, con tal de comprobar el
correcto funcionamiento de la misma.
NOTA: Se recomienda almacenar las copias de seguridad en servidor de ficheros, para prevenir
problemas de espacio en disco, debido al tamaño de los archivos de backup.
Con estos dos puntos, se conseguirá una automatización del procedimiento de copia de seguridad de
NetSupport ServiceDesk.
Finalmente, cabe recordar que se deberá revisar semanalmente el resultado de la ejecución
almacenado (en el ejemplo) en C:\Backups\logs\Resultado.txt para corroborar la validez de la copia de
seguridad.
TotemGuard.com
9
902 360 645
TotemGuard Digital Security
3. Tratamiento del log de transacciones (automática)
Toda base de datos de SQL Server, tiene asociado su archivo de registro de transacciones.
Este archivo, almacena los cambios realizados en los datos de la base de datos, para poder revertirlos.
Concretamente, el archivo de registro de ServiceDesk tiene como nombre ServiceDesk_log.ldf.
Sin embargo, este archivo tiende a crecer de forma preocupante si no se previene dicho
crecimiento, llegando a influir muy negativamente en el rendimiento de ServiceDesk. Por esta razón, se
recomienda en primer lugar realizar una reducción periódica del mismo.
Para ello, se insta a modificar el script programado generado en punto 1, para realizar un
backup del log de transacciones, una vez realizado el backup de la base de datos.
Para ello, bastará con añadir, al final del script, el siguiente código:
/*Nombre y destino del backup*/
DECLARE @LogName nvarchar(100)
SET @LogName = N'ServiceDesk_log' + N' '
+ STR(DATEPART(year,GETDATE()), 4, 0)
+ REPLACE(STR(DATEPART(month,GETDATE()), 2,0), N' ', N'0')
+ REPLACE(STR(DATEPART(day,GETDATE()), 2,0), N' ', N'0')
DECLARE @LogFile nvarchar(600)
SET @LogFile = N'C:\'+ @LogName + N'.bak'
/*Proceso de copia de seguridad*/
BACKUP LOG [ServiceDesk]
TO DISK = @LogFile
WITH FORMAT, INIT,
MEDIANAME = N'DNALOG',
NAME = @LogName,
SKIP, NOREWIND, NOUNLOAD, STATS = 10
GO
NOTA: El código anterior se encargará de crear una copia de seguridad del log de
transacciones en C:\ServiceDesk_log.bak, pero no lo vaciará. Se recomienda al administrador de la
base de datos, que valore la posibilidad de añadir la opción TRUNCATE_ONLY seguido de un
SHRINKFILE, si se viese que el log de transacciones suele sobrepasar 1GB de tamaño.
BACKUP LOG ServiceDesk WITH TRUNCATE_ONLY
DBCC SHRINKFILE (ServiceDesk_Log, 0)
GO
TotemGuard.com
10
902 360 645
TotemGuard Digital Security
4. Re-indexación de índices (manual)
En algunos entornos, podemos encontrar tamaños de índice enormes. En muchos casos, llegan a ser
más grandes los índices que los propios datos de la tabla.
Se puede comprobar el tamaño de cada tabla desde el Management Studio, haciendo click
derecho/propiedades en dicha tabla. Nos mostrará tanto el tamaño de datos como el tamaño de índice.
No se recomienda utilizar la reindexación por regla general, pero en algunos casos es necesaria.
Siempre que se haga, deberá ser en horas de trabajo nulo, ya que la reindexación bloquea totalmente
la tabla con la que está trabajando, y ralentiza enormemente el rendimiento del SQL.
Con el siguiente script, podemos hacer una reindexación de toda una base de datos.
USE DatabaseName --Enter the name of the database you want to reindex
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',90)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE TableCursor
Fuente: http://www.sql-server-performance.com/tips/rebuilding_indexes_p1.aspx
TotemGuard.com
11
902 360 645
TotemGuard Digital Security
5. Copia de directorios
Finalmente, ServiceDesk cuenta con una serie de directorios donde almacena información adicional,
como los archivos adjuntos de los tickets, o las imágenes de los detalles de los mismos.
5.1. Directorio de instalación del ServiceDesk
En el directorio de instalación del ServiceDesk, se encuentra la biblioteca de archivos, los informes
personalizados o las imágenes de la personalización de la interfaz del ServiceDesk, entre otros. Por
esta razón, se recomienda realizar una copia de seguridad del mismo, de forma periodica.
Por defecto, el directorio de instalación del ServiceDesk se encuentra en:
C:\Archivos de programa\NetSupport\NetSupport Service Desk\
5.2. Biblioteca de archivos
La ubicación de la biblioteca de archivos de ServiceDesk, se define en el mismo ServiceDesk, en
Admin->Opciones de Base de Datos → Opciones de biblioteca de archivos:
Por defecto, dicha biblioteca se encuentra en el directorio de instalación del ServiceDesk. Si se ha
cambiado la ubicación del mismo, se deberá añadir dicho directorio a la copia de seguridad periodica.
TotemGuard.com
12
902 360 645
Descargar