Consulta:
¿Cuáles son las tareas a configurar en los servidores Teamplace/GO On-Premise?
Respuesta:
Actualizaciones
Es necesario:
- mantener el servidor actualizado con actualizaciones críticas del sistema operativo. Lo ideal es automatizar el proceso para que se ejecute fuera del horario de trabajo.
- mantener actualizada la aplicación, tanto de los módulos estándar como de los particulares
- Actualización de módulos estándar: Cómo actualizar Finnegans en servidores propios
- Actualización de módulos particuares: Cómo actualizar un módulo particular en servidor propio
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 (Crear una tarea del Agente de SQL Server | 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
Ejecutar desde una query de master, cambiando donde dice @database_namedatabase_name = N’FAF12_NombreBaseDeDatos’, Por el nombre de la base real
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
Verificar si se ejecuta la tarea de mantenimiento:
USE msdb;
GO
SELECT
j.name AS NombreTarea,
h.step_name AS Paso,
msdb.dbo.agent_datetime(h.run_date, h.run_time) AS UltimaEjecucion,
CASE h.run_status
WHEN 0 THEN 'Falló'
WHEN 1 THEN 'Exitoso (OK)'
WHEN 2 THEN 'Reintento'
WHEN 3 THEN 'Cancelado'
END AS Estado,
STUFF(STUFF(RIGHT('000000' + CAST(h.run_duration AS VARCHAR(6)), 6), 3, 0, ':'), 6, 0, ':') AS Duracion,
h.message AS Mensaje
FROM sysjobs j
INNER JOIN sysjobhistory h ON j.job_id = h.job_id
WHERE j.name = 'Mantenimiento Diario'
AND h.step_id = 0 -- Muestra el resumen global del Job (o usa step_id > 0 para ver cada paso)
ORDER BY h.run_date DESC, h.run_time DESC;
Sino revisar desde la columna de la izquierda dentro de SQL Server Agent->Jobs->Mantenimiento Diario->click derecho->View History.
Como tarea adicional, se puede aumentar el query-timeout a 300 en caso de ser necesario, el mismo se encuentra en: /opt/wildfly/standalone/configuration/standalone.xml o C:/wildfly/standalone/configuration/standalone.xml si es windows:

Envío de backups a Finnegans
En caso de ser necesario enviar backups a Finnegans para resolver un caso, recomendamos seguir los siguientes pasos:
- Eliminar transacciones antiguas por fecha: SQL Server - Cómo eliminar transacciones antiguas por fecha de una base de datos en servidores propios para enviar a Finnegans
- Reducir el tamaño de la base: SQL Server - Cómo reducir el tamaño de una base de datos en servidores propios para enviar a Finnegans
- Ofuscar datos sensibles: SQL Server - Cómo ofuscar datos sensibles en servidores propios para enviar base de datos a Finnegans
__