Plan de mantenimiento NetSupport DNA para un funcionamiento

Anuncio
TotemGuard Digital Security
Plan de mantenimiento
NetSupport DNA
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).........................................................................11
4. Limpieza de datos en la base de datos (manual)...........................................................................12
5. Espacio en disco (automático - manual).........................................................................................12
6. Re-indexación de índices (manual).................................................................................................19
Anexo A. Solución de problemas de Timeout..........................................................................................20
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 DNA 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 DNA, como el
propio servidor que mantiene el servicio NetSupport DNA Server.
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 DNA.
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 backupDNA.sql con un código como el que sigue:
/*Nombre y destino del backup*/
DECLARE @BackupName nvarchar(100)
SET @BackupName = N'NetSupportDNA' + 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 [NetSupportDNA]
TO DISK = @BackupFile WITH FORMAT, INIT, MEDIANAME = N'NetSupportDNA',
NAME = @BackupName, SKIP, NOREWIND, NOUNLOAD, STATS = 10
/*Proceso de verificacion*/
declare @backupSetId as int
select @backupSetId = position
from msdb..backupset where
database_name=N'NetSupportDNA'
and backup_set_id=(select max(backup_set_id) from msdb..backupset where
database_name=N'NetSupportDNA' )
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 ''NetSupportDNA''.', 16, 1) end
RESTORE VERIFYONLY
FROM DISK = @BackupFile
WITH FILE = @backupSetId, NOUNLOAD, NOREWIND
GO
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 “NetSupportDNA YYYYMMDD.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.
Totemguard.com
9
902 360 645
TotemGuard Digital Security
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
DNA.
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
10
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 NetSupportDNA tiene como nombre NetSupportDNA_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 NetSupport DNA. 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'NetSupportDNA_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 [NetSupportDNA]
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:\NetSupportDNA_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 NetSupportDNA WITH TRUNCATE_ONLY
DBCC SHRINKFILE (NetSupportDNA_Log, 0)
GO
Totemguard.com
11
902 360 645
TotemGuard Digital Security
4. Limpieza de datos en la base de datos (manual)
El siguiente punto en el plan de mantenimiento, hace referencia al mantenimiento de los datos
que conforman la base de datos de NetSupport DNA. Este punto, al contrario que los anteriores, no se
puede automatizar, y por tanto, se tendrá la necesidad de ejecutarse de forma manual, por lo menos,
una vez al mes.
De esta forma, y siempre después de asegurarse de que el backup de la semana en curso se
ha realizado de forma satisfactoria con la tarea programada del punto 2, se deberán seguir los
siguientes pasos:
1. Desde la consola NetSupport DNA → Herramientas → Mantenimiento de la base de datos
→ Eliminar datos, eliminar los datos anteriores a, por ejemplo, un año natural (si nos
encontramos en día 15 de abril de 2010, eliminaremos datos con fecha límite 01 de abril de
2009). Si se obtiene un timeout como respuesta, se deberá seguir el proceso especificado
en Anexo A. del presente documento.
2. Posteriormente, una vez eliminados los datos antiguos de forma satisfactoria, se deberá
ejecutar en la herramienta de consultas del SQL Server Management Studio, la siguiente
instrucción, también en horario de mínima actividad del servidor SQL.
DBCC SHRINKDATABASE (NetSupportDNA, 10)
donde 10 significa que dejará un 10% del tamaño libre actual en el archivo
3. Una vez realizado este proceso, se habrá conseguido dejar en la base de datos,
únicamente datos con fecha como máximo de un año de antigüedad, y posteriormente, se
habrá conseguido compactar la base de datos, y por tanto, reducir su tamaño aumentando
el rendimiento global de la aplicación.
Se recomienda realizar esta tarea en un momento en que el servidor SQL esté en un mínimo de
actividad, para no afectar al rendimiento del mismo. Igualmente, se recomienda comprobar el tamaño
del archivo con la base de datos NetSupportDNA.mdf, antes y después de este proceso, con tal de
corroborar el éxito del mismo.
Se podrá ubicar el archivo NetSupportDNA.mdf en C:\Archivos de Programa\Microsoft SQL
Server\MSSQL.1\MSSQL\Data, junto al resto de bases de datos del servidor SQL.
5. Espacio en disco (automático - manual)
En cuanto al mantenimiento de los sistemas que afectan a NetSupport DNA, también se recomienda
no olvidar el comprobar que se dispone de suficiente espacio en disco en las unidades de los
servidores que afectan a NetSupport DNA.
Totemguard.com
12
902 360 645
TotemGuard Digital Security
Dichas unidades, son las siguientes:
•
Unidad de instalación del sistema operativo del servidor NetSupport DNA.
•
Unidad de instalación de la aplicación NetSupport DNA.
•
Unidad donde se ubica el directorio de paquetes de NetSupport DNA (por defecto en
C:\Archivos de Programa\NetSupport DNA\DNA\Server\Packages).
•
Unidad donde se ubica la base de datos de NetSupport DNA.
•
Unidad de instalación del sistema operativo del servidor SQL Server.
•
Unidad de instalación del SQL Server.
•
Unidad donde se ubican las copias de seguridad de la base de datos de NetSupport DNA.
Se recomienda repasar el tamaño libre de estas unidades, por lo menos una vez al mes, o en su
defecto, programar un aviso con NetSupport DNA para que controle que se dispone de suficiente
tamaño, y que se encargue de lanzar un aviso en caso contrario.
Se puede programar un aviso desde NetSupport DNA, tal y como sigue:
1. Iniciar la consola NetSupport DNA.
2. En la jerarquía de PCs, ubicar el servidor DNA Server, así como el servidor SQL Server.
3. Seleccionar el departamento del servidor DNA Server (el aviso afectará a todas las máquinas
de este departamento).
4. Una vez seleccionado el departamento (o sub-departamento), hacer click derecho sobre él →
Configuraciones (En el ejemplo “ZEALOT” es el nombre de la máquina con el servidor
NetSupport DNA, mientras que “Laptops” es el nombre del sub-departamento de dicho
servidor).
Totemguard.com
13
902 360 645
TotemGuard Digital Security
5. Seleccionar la opción “Avisos” de la nueva ventana, seleccionando “Avisos de PC”.
6. En la nueva ventana, asegurarse de seleccionar el departamento (sub-departamento en el
ejemplo) del servidor NetSupport DNA, y pulsar sobre “Gestionar”.
Totemguard.com
14
902 360 645
TotemGuard Digital Security
7. Pulsar sobre “Nuevo” para crear un nuevo aviso
8. Seleccionar el aviso del tipo “Disco físico” y escoger el usar un porcentaje del espacio libre o un
tamaño fijo para el aviso. En el ejemplo, se usa un porcentaje. Siguiente.
Totemguard.com
15
902 360 645
TotemGuard Digital Security
9. Indicar en “El espacio libre es” el porcentaje de tamaño para el cual dará el aviso. En el
ejemplo, se lanzará el aviso cuando el tamaño libre en disco sea menor que el 25% del total.
Siguiente.
Totemguard.com
16
902 360 645
TotemGuard Digital Security
10. Finalmente, se podrá escoger si se quiere ser avisado por correo electrónico al saltar el aviso
(como se recomienda). Para ello, bastará con seleccionar al usuario encargado de recibir el
aviso del listado de usuarios disponibles, seleccionándolo a la lista de contactos, indicando que
“Si” se quiere “notificar al usuario por correo electrónico”
Totemguard.com
17
902 360 645
TotemGuard Digital Security
11. Una vez finalizado, se deberá “agregar” el aviso mediante la opción “Agregar”
12. Posteriormente, se deberá “Guardar” y “Cerrar”, para dejar el aviso programado.
NOTA: Se deberá repetir el proceso para el departamento del servidor SQL Server.
Totemguard.com
18
902 360 645
TotemGuard Digital Security
6. 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
19
902 360 645
TotemGuard Digital Security
Anexo A. Solución de problemas de Timeout
En el presente apartado se describe como proceder al recibir un “timeout” como respuesta al intentar
eliminar datos desde la opción “Mantenimiento de la base de datos” de la consola NetSupport DNA.
Así por ejemplo, si desde la opción Herramientas → Mantenimiento de la base de datos → Eliminar
Datos, se pretenden eliminar los datos anteriores a un año natural, se deberán dejar seleccionados
todos los checkboxs de la sección, y escoger como fecha límite, una fecha adecuada como fecha de
inicio de los datos válidos (si se está a día 17 de abril de 2010, se puede escoger como fecha de inicio
el 01 de abril de 2009).
Este proceso, puede ser un proceso largo, debido a la gran cantidad de datos a eliminar que puede
tener la base de datos. Por esta razón, y si NetSupport DNA muestra un mensaje de timeout al intentar
lanzar la limpieza de la base de datos, se recomienda seguir el siguiente proceso:
1- Añadir la siguiente key en registro de windows, donde tenemos instalado DNA Server:
HKLM\Software\NetSupport Ltd\NetSupport DNA\Database
Value Type : DWORD - Decimal Value
Valuename : Timeout
Value : 800 (Este valor corresponde al número de segundos necesarios para dar timeout)
2- Reiniciar el servicio DNA Server, desde inicio -> ejecutar -> services.msc -> localizar
"NetSupport DNA Server" -> Reiniciar
3- Repetir el proceso de limpieza desde la opción “Mantenimiento de la base de datos”,
seleccionando primeramente datos anteriores al 01 de enero de 2008 y posteriormente datos
anteriores al 01 de enero del 2009.
4. Si continuasen los errores de timeout, se deberá seleccionar cada chechbox de datos por
separado, tal y como sigue:
▪ Únicamente selección de checkbox “medición de Internet”, para fecha límite 01 de
enero de 2008. Eliminar datos.
▪ Posteriormente, únicamente selección de checkbox “medición de aplicaciones”, para
fecha límite 01 de enero de 2008. Eliminar datos.
▪ Posteriormente, selección de todos los checkboxs excepto “medición de Internet” y
“medición de aplicaciones” para fecha límite 01 de enero de 2008. Eliminar datos.
▪ Análogamente para fecha límite 01 de enero de 2009
Totemguard.com
20
902 360 645
Descargar