Dynamics crm 2011 删除与特定实体相关的审核日志数据

Dynamics crm 2011 删除与特定实体相关的审核日志数据,dynamics-crm-2011,dynamics-crm,Dynamics Crm 2011,Dynamics Crm,是否可以仅删除与特定实体相关的审核日志数据?我们有一个巨大的审计日志,我们希望通过清除特定实体的日志数据来减少它,尽管我们确实希望保留其他实体的日志。我知道这不是您想要的,但是有一个API消息,您可以调用它在特定日期之前删除所有审计数据 至于删除特定记录,我相信你做不到。如果您尝试以下代码,将出现以下错误“Delete”方法不支持“audt”类型的实体 如果是内部部署环境,您可以直接访问数据库,您可以归档审核记录或通过SQL删除它们 希望对您有所帮助。没有按实体类型删除审核日志项的支持方法。审计

是否可以仅删除与特定实体相关的审核日志数据?我们有一个巨大的审计日志,我们希望通过清除特定实体的日志数据来减少它,尽管我们确实希望保留其他实体的日志。

我知道这不是您想要的,但是有一个API消息,您可以调用它在特定日期之前删除所有审计数据

至于删除特定记录,我相信你做不到。如果您尝试以下代码,将出现以下错误“Delete”方法不支持“audt”类型的实体

如果是内部部署环境,您可以直接访问数据库,您可以归档审核记录或通过SQL删除它们


希望对您有所帮助。

没有按实体类型删除审核日志项的支持方法。审计删除的唯一方法支持按日期(即,所有早于X日期的记录。)*注意:根据SQL环境,可用的结束日期可能限制在审计日志分区的结束日期*

也就是说,有一种不受支持的方法可以满足此要求关键:使您的CRM服务器脱机,备份数据库,并在尝试之前测试还原-对于我要建议的内容,没有可用的支持,因为这与Dynamics CRM 2011 SQL数据库上支持的操作背道而驰。

审核日志存储在表
dbo.AuditBase
中。此表没有扩展基,因此每个审核条目只有一条记录需要担心

您将需要实体的
ObjectTypeCode
。您可以通过运行以下脚本从数据库中获取此信息:

选择[EntityId]、[Name]、[ObjectTypeCode]
从[].[MetadataSchema].[Entity]按名称排序

既然您有了
ObjectTypeCode
,只需将下面脚本中的xxxx替换为值并运行脚本即可

从[].[dbo].[AuditBase]删除,其中ObjectTypeCode=xxxx


特定实体类型的审核记录现已消失

您是否需要清除特定实体的日志数据?否则,只需关闭这些实体的日志记录。orgService.Delete()会给出错误信息,因为无法对审核实体执行删除操作。
orgService.Delete("audit",auditId);