Buenas prácticas para el mantenimiento de servidores On-Premise

Consulta:

¿Cuáles son las tareas a configurar en los servidores Teamplace/GO On-Premise?


Respuesta:

Actualizaciones
Es necesario:

Servidor de aplicaciones
Respaldar periódicamente la información importante:

  • la información de la empresa que se encuentra en el directorio /FAFApps. Este se corresponde con el campo “Espacio de Trabajo” que el usuario ingresa para loguearse a la aplicación.

A modo de ejemplo, si se ingresa al espacio de trabajo “EMPRESA_PRUEBA”, hay que respaldar el directorio (y todo su contenido) /FAFApps/EMPRESA_PRUEBA

  • los archivos de configuración de la aplicación:
    • /FAFApps/faf*.xml
  • librerías de Wildfly:
    • ../wildfly/standalone/deployment/ERP-WEB.war/WEB-INF/lib/*
  • archivos de configuración de Wildfly:
    • ../wildfly/standalone/configuration/standalone.xml
    • ../wildfly/bin/standalone.conf (linux)
    • ../wildfly/bin/standalone.conf.bat (windows)

Servidor de base de datos

  • Realizar un backup diario de la base, que es del tipo FAF12_NombreCliente
  • Configurar tareas de mantenimiento en la base de datos (Creación de un trabajo de Agente SQL Server en SSMS | Microsoft Learn). Para esto es necesario tener instalado el Agente SQL Server.
  • Se puede utilizar este job personalizable corriendo esta sentencia en una query desde master. Modificando :
USE msdb;
GO

-- Crear el job
EXEC dbo.sp_add_job 
  @job_name = N'Mantenimiento Diario';
GO

-- Paso 1: Ejecutar sp_updatestats
EXEC sp_add_jobstep
  @job_name = N'Mantenimiento Diario',
  @step_name = N'Update Statistics',
  @subsystem = N'TSQL',
  @command = N'EXEC sp_updatestats;',
  @database_name = N'FAF12_NombreBaseDeDatos',
  @retry_attempts = 0,
  @retry_interval = 0,
  @on_success_action = 1,    -- Ir al siguiente paso
  @on_fail_action = 3;       -- Salir del job con error
GO

-- Paso 2: Truncar la tabla FAFArbolSeleccion
EXEC sp_add_jobstep
  @job_name = N'Mantenimiento Diario',
  @step_name = N'Truncate FAFArbolSeleccion',
  @subsystem = N'TSQL',
  @command = N'TRUNCATE TABLE FAFArbolSeleccion;',
  @database_name = N'FAF12_NombreBaseDeDatos',
  @retry_attempts = 0,
  @retry_interval = 0,
  @on_success_action = 1,    -- Aunque es el último, se puede dejar como continuar
  @on_fail_action = 3;       -- Salir del job con error
GO

-- Crear el horario diario a las 21:00
EXEC dbo.sp_add_schedule
  @schedule_name = N'Mantenimiento Diario',
  @freq_type = 4,                -- Diario
  @freq_interval = 1,           -- Cada 1 día
  @active_start_time = 210000;  -- 21:00:00
GO

-- Asociar el horario al job
EXEC sp_attach_schedule
  @job_name = N'Mantenimiento Diario',
  @schedule_name = N'Mantenimiento Diario';
GO

-- Asociar el job al servidor SQL Server Agent actual
EXEC dbo.sp_add_jobserver 
  @job_name = N'Mantenimiento Diario';
GO

Se puede ajustar el horario a ejecutar, en este ejemplo se corre a las 21 hs
diariamente. Pueden verificar si se ejecutó a la hora deseada desde SQLServerAgent - Jobs - click derecho - View History

  • Se deben configurar dos pasos:
    • exec sp_updatestats
    • truncate table FAFArbolSeleccion
  • Recomendamos correr el trabajo todos los días, fuera del horario laboral y de backups

Envío de backups a Finnegans
En caso de ser necesario enviar backups a Finnegans para resolver un caso, recomendamos seguir los siguientes pasos:


__