McAfee ePO:如何找到10大威胁事件并将其清除,以收缩数据库使用量

环境:

ePO 5.10.x或5.9.x

 

问题现象:

MS SQL数据库达到允许的最大尺寸。没有空闲空闲可以写入新的数据。

这通常是由于SQL Server的限制导致的,如SQL Server 2008限制数据库大小为4GB,SQL Server 2008R2及之后的版本(直到2019)限制数据库大小为10GB。

 

解决方案:

一、找出最常见的威胁事件

使用下列查询可以帮助你找出ePO数据库中占用最多空间的事件。

1. 使用SQL Server Management Studio选择主ePO数据库,并打开一个查询窗口。详情可参阅KB67591(https://kb.mcafee.com/agent/index?page=content&id=KB67591)。

注意:如果你使用ePO 5.10版本,切勿选择“事件数据库”(名字类似“epo_EPO_Events”)。该查询只能在主数据库(名字类似“epo_EPO”)上正常运行。

2. 粘贴下列SQL语句到查询窗口:

select top 10
Count(e.ThreatEventID) as [Count], e.ThreatEventID as EventID,
f.[Description] as 'Event Description', e.AnalyzerName as 'Event Source'
from EPOEvents e (nolock) left join EPOEventFilterDesc (nolock) f
on e.ThreatEventID = f.EventId where f.[Language] = '0409'
group by e.ThreatEventID, f.[Description], e.AnalyzerName
order by [Count] desc

3. 点击“执行”或按F5。

 

二、从ePO数据中按event ID清除特定威胁事件

依据前文的查询结果,你可以按event ID清除特定的威胁事件。

注:如果你需要清除许多事件,或者需要根据Event ID意外的其他标准清除,请参考KB92098(https://kc.mcafee.com/corporate/index?page=content&id=KB92098)。

1. 使用SQL Server Management Studio选择主ePO数据库,并打开一个查询窗口。详情可参阅KB67591(https://kb.mcafee.com/agent/index?page=content&id=KB67591)。

注意:如果你使用ePO 5.10版本,切勿选择“事件数据库”(名字类似“epo_EPO_Events”)。该查询只能在主数据库(名字类似“epo_EPO”)上正常运行。

2. 粘贴下列SQL语句到查询窗口:

declare @EventID int = ;
declare @Is510 bit; declare @rowcount int = 1;
if OBJECT_ID('tempdb.dbo.#PurgeEvents', 'U') IS NOT NULL drop table #PurgeEvents;
create table #PurgeEvents (AutoID bigint);
if exists (select 1 from sys.objects where [name] = 'EPOEventsMT' and type = 'SN')
set @Is510 = 1; else set @Is510 = 0;
while (@rowcount > 0)
begin
begin transaction;
delete top(10000) EPOEvents output deleted.AutoID into #PurgeEvents where ThreatEventID = @EventID;
if (@Is510 = 1) delete A from EPOEventsReference A join #PurgeEvents B ON A.AutoID = B.AutoID;
set @rowcount = @@ROWCOUNT;
truncate table #PurgeEvents;
commit transaction;
if @rowcount > 0 waitfor delay '00:00:05';
end
drop table #PurgeEvents;

3. 更新第一行中的Event ID为你想要清除的。例如,你想要清除所有Event ID 1095,第一行应该这些改写:

declare @EventID int = 1095;

4. 点击“执行”或者按F5。

 

 

三、收缩ePO数据库

  • 通常ePO数据库是不需要收缩(shrink)操作的。请在进行操作前考虑下列信息:
  • 对于ePO正常工作而言,收缩ePO数据库是不推荐的,也是不必要的。
  • 收缩数据库文件(“.MDF”和“.NDF”),会增加索引碎片,并导致查询变慢。

在你收缩数据库文件之后,如果数据库需要扩容以容纳新数据,SQL Server会在扩容期间锁定文件。其结果是在新数据插入时,使用数据库的应用会出现性能问题。

如果符合下列情况:

  • 如果你的数据库因异常原因变大,并且你已经对此进行了修正。并且,
  • 如果你需要进行一次收缩操作以使数据库恢复到正常大小。

1. 使用SQL Server Management Studio选择主ePO数据库,并打开一个查询窗口。详情可参阅KB67591(https://kb.mcafee.com/agent/index?page=content&id=KB67591)。

2. 粘贴下列SQL语句到查询窗口:

警告:在运行命令时,SQL交互日志(.ldf文件)可能增长到数据库的五倍大小。在执行命令之前确保你有足够的空闲磁盘空间。

dbcc shrinkdatabase ('ePO_DatabaseName')
go

3. 点击“执行”或者按F5。

你可能感兴趣的:(其他技术文摘)