在 Skype for Business Server 中手动清除呼叫详细信息记录和体验质量数据库

总结:了解如何从 CDR 和 Skype for Business Server 使用的 QoE 数据库中手动清除记录。

可以手动或自动清除 CDR 和 QoE 数据库的记录。 清除记录非常重要,这样做数据不会变得过时或者需要从开始比较基准重置报告。

手动清除 CDR 和 QoE 数据库中的记录

管理员可以配置呼叫详细信息记录 (CDR) 和/或体验质量 (QoE) 数据库,以自动清除数据库中的旧记录;如果为指定的数据库启用了清除 (CDR 或 QoE) ,并且数据库中存在超过指定时间量的任何记录,则会发生此情况。 例如,每天凌晨 1:00,管理员可能会配置系统,以便从 QoE 数据库中删除超过 60 天的 QoE 记录。

除了自动清除之外,还会将两个新的 cmdlet(Invoke-CsCdrDatabasePurge 和 Invoke-CsQoEDatbasePurge)添加到Skype for Business Server;这些 cmdlet 允许管理员随时手动清除 CDR 和 QoE 数据库中的记录。 例如,若要从 CDR 数据库中手动清除所有期限长于 10 天的记录,则可以使用类似于下面的命令:

Invoke-CsCdrDatabasePurge -Identity service:MonitoringDatabase:atl-sql-001.litwareinc.com -PurgeCallDetailDataOlderThanDays 10 -PurgeDiagnosticDataOlderThanDays 10

在上述命令中,超过 10 天的调用详细信息记录和诊断数据记录将从 atl-sql-001.litwareinc.com 上的监视数据库中删除。 (呼叫详细信息记录是用户/会话报告。诊断数据记录是由客户端应用程序(如 Skype for Business Server.) ) 上传的诊断日志

如上所述,当运行 Invoke-CsCdrDatabasePurge cmdlet 时,您必须同时包含 PurgeCallDetaiDataOlderThanDays 和 PurgeDiagnosticDataOlderThanDays 参数。 但是,这些参数不必设置为相同的值。 例如,可以清除所有期限长于 10 天的呼叫详细信息记录,同时将所有诊断数据记录保留在数据库中。 为此,请将 PurgeCallDetailDataOlderThanDays 设置为 10,并将 PurgeDiagnosticDataOlderThanDays 设置为 0。 例如:

Invoke-CsCdrDatabasePurge -Identity service:MonitoringDatabase:atl-sql-001.litwareinc.com -PurgeCallDetailDataOlderThanDays 10 -PurgeDiagnosticDataOlderThanDays 0

默认情况下,每次运行 Invoke-CsCdrDatabasePurge 都会看到类似于以下提示,对于必须清除的每个数据库表::

Confirm
Are you sure you want to perform this action?
Performing operation "Stored procedure: RtcCleanupDiag" on Target "Target SQL Server:atl-sql-001.litwareinc.com\archinst Database: lcscdr".
[Y] Yes  [A] Yes to All  [N] No  [L] No to All [S] Suspend  [?] Help (default is "Y"):

在数据库清除发生之前,必须为“是) ”键入“Y (”,或者键入“是到所有) 的 A (”。 如果您想要隐藏这些确认提示,则将以下参数添加到对 Invoke-CsCdrDatabasePurge 的调用的末尾:

-Confirm:$False

例如:

Invoke-CsCdrDatabasePurge -Identity service:MonitoringDatabase:atl-sql-001.litwareinc.com -PurgeCallDetailDataOlderThanDays 10 -PurgeDiagnosticDataOlderThanDays 10 -Confirm:$False

如果执行此操作,则不会显示确认提示,并执行数据库清除。

若要清除 QoE 数据库,请使用 Invoke-CsQoEDatabasePurge cmdlet 并指定要删除的记录的期限(以天为单位):

Invoke-CsQoEDatabasePurge -Identity service:MonitoringDatabase:atl-sql-001.litwareinc.com -PurgeQoEDataOlderThanDays 10