Importante: Se recomienda purgar los eventos de amenazas con la tarea servidor integrada creada para este fin. Utilice este artículo solo si las tareas integradas no son suficientes.
En este artículo se proporcionan directrices sobre cómo purgar grandes volúmenes de información de
eventos de amenazas de la base de datos de ePO. Para llevar a cabo esta tarea, debe utilizar el script adjunto (
PurgeThreatEvents.zip ). Debe modificar el script para identificar los eventos que desee purgar.
Puede utilizar la consulta SQL adjunta para purgar los eventos. De forma predeterminada, purga cualquier evento con una
DetectedUTC hora superior a 12 meses en lotes de 4.900 con un retraso de tres segundos entre los lotes. Es posible que tenga que ajustar estos valores para su entorno. Los lotes con un tamaño superior a 5.000 deben evitarse, ya que provoca que SQL cambie de un bloqueo de fila a un bloqueo de tabla. Para ajustar los valores, modifique las siguientes líneas del script adjunto para que reflejen sus necesidades:
--*****EDIT THE NEXT FOUR LINES AS NEEDED *****
declare @BatchSize int = 4900
declare @BatchDelaySeconds int = 3
declare @DeleteTime int = -12
declare @PurgeWhereClause NVARCHAR(MAX) = 'DetectedUTC < DATEADD(MM, @DeleteTime, GETDATE())'
Directrices sobre la edición de las variables anteriores:
- @BatchSize : Cuanto más grande sea el tamaño del lote, más rápida será la purga. Un tamaño de lote pequeño no aumenta el registro de transacciones tanto. Mantenga el tamaño del lote bajo 5.000 para evitar que SQL revierta a un bloqueo de tabla.
- @BatchDelaySeconds : Esta variable controla el tiempo que se interrumpe la script entre los lotes. Si desarrolla un gran trabajo pendiente de eventos en la <ePOInstallDir>DB\Events carpeta mientras se está ejecutando la script de purga, es posible que necesite aumentar el retraso para que el Event Parser pueda detectar eventos entre lotes.
- @DeleteTime : Si se está purgando por tiempo, este parámetro controla la duración, en meses, tras la cual se purgan los eventos. De forma predeterminada, purga todos los eventos con una antigüedad superior a 12 meses.
- @PurgeWhereClause : Escriba una instrucción SELECT para identificar los eventos que desee purgar. Pegue la cláusula WHERE de la instrucción SELECT en esta variable, entre las comillas simples.
Nota: Si necesita incluir comillas simples en la cláusula WHERE, debe poner dos comillas simples a la vez para evitar escapar la consulta.
Ejemplos WHERE de cláusulas:
- Purgue todas las apariciones de EventID 1095:
ThreatEventID = 1095
- Purgue todas las apariciones de EventID 1095 y 1092:
ThreatEventID IN (1092,1095)
- Purgue todas las apariciones de ID 1095 y 1092, que se producían hace más de 365 días (1 año) (pasada 365 para la variable @DeleteTime):
ReceivedUTC < DATEADD(dd, @DeleteTime, GETDATE()) AND ThreatEventID IN (1092,1095)
- Purgue todas las apariciones de eventos que se produjeron más de 365 días (1 año) (pasada 365 para la variable @DeleteTime):
ReceivedUTC < DATEADD(dd, @DeleteTime, GETDATE())
Una vez modificada la script para satisfacer sus necesidades, siga estas instrucciones para ejecutarla:
- Abra SQL Management Studio y conéctese a la base de datos de ePO principal. Consulte KB67591-cómo ejecutar una script SQL proporcionada por soporte técnico en la base de datos de EPolicy Orchestrator si necesita instrucciones detalladas para este paso.
IMPORANT: Si utiliza ePO 5.10 , no señale a la base de datos de eventos. El script no funciona correctamente a menos que se ejecute en la base de datos principal.
- Pegue el contenido del script en la ventana de consulta.
- Haga clic en Ejecutar o pulse F5.
- Supervise la <InstallDirectory>\DB\Events carpeta del servidor de ePO y de los controladores remotos. Confirme que no tiene demasiados trabajos pendientes de acumulación de eventos. En tal caso, debe detener el script y reducir el tamaño del lote o aumentar el retraso del lote.
Nota: En función de la cantidad de eventos que se estén purgando, el script puede tardar horas o días en completarse. No obstante, el servidor de ePO seguirá funcionando mientras se ejecute la script.
Automatizar la script con un trabajo de SQL Agent
Si lo desea, puede automatizar este script y hacer que se ejecute de manera planificada.
Cree un trabajo de SQL Agent en la SQL Server alojar la base de datos de ePO:
- Asegúrese de que el SQLSERVERAGENT servicio está en ejecución y establecido en modo de inicio automático.
- Abra la Microsoft SQL Server Management Studio y vaya a SQL Server Agent, Jobs .
- Haga clic Jobs con el botón derecho del ratón y seleccione New Job .
- Especifique un nombre para el trabajo. Por ejemplo, ePO Events purging.
- Haga clic Steps en el panel de la izquierda.
- Haga clic New en la ventana de pasos.
- Introduzca el script SQL ( PurgeThreatEvents.zip ) que ha modificado para satisfacer sus necesidades, tal y como se explica en la sección anterior.
- Asegúrese de que esté seleccionada la base de datos de ePO principal.
- Haga clic Schedules en y, a continuación, en New para crear una planificación.
- Asigne un nombre a la planificación (por ejemplo, semanalmente) y configure la planificación.
- Haga clic en Notifications. Esta opción activa el informe de errores.
- Seleccione lo siguiente:
- Escribir en el registro de eventos de la aplicación Windows
- Cuando finalice el trabajo
Nota: Puede cambiar las opciones y registrar un evento solo si se produce un error en el trabajo.
- Para agregar la planificación, haga clic en Aceptar.