• AuditBase 清理


    排查Dynamics CRM各个Entity table的大小, 发现AuditBase占了很大的数量,本来准备直接SSMS下Script删除,不过网上查了一下,可以使用CRM自己的Audit Log Management来清理,这样安全很多

    步骤如下

    1. Setting->System->Auditing

    image

    2. 选择“Audit Log Management”

    image

    3. 选择特定时间的Audit Log,就可以删除掉了

    这时候就有问题了,如果要删除针对一个Entity的audit log,那就不能只是通过这里的界面来操作了,只能通过Script来做了(Audit Entity 只有AuditBase这个table,没有额外的extension table)

    select en.name, count(ab.auditid) from [dbo].[AuditBase] ab inner join [MetadataSchema].[Entity] en on ab.[ObjectTypeCode] = en.[ObjectTypeCode]
    group by en.name
    order by count(ab.auditid)
    desc
    
    begin tran
    delete ab from [dbo].[AuditBase] ab inner join [MetadataSchema].[Entity] en on ab.[ObjectTypeCode] = en.[ObjectTypeCode]
    where en.name = 'account' and ab.createdon <'2015-11-01'
    
    commit

    更进一步的话可以用script找出原始数据,根据原始数据的属性来删除,例如对于交易数据,如果该交易数据已经被关闭,这样它的相关的audit log就可以删除掉了,这就涉及到数据清理原则的设计了,与公司的商业流程息息相关。

    再有就是Audit虽然很有用,但是在开启的时候,尤其是field audit的时候,要有针对性的,根据实际的需要来开启,而不是全面开启,那样就有点滥用了。

  • 相关阅读:
    在CI框架中的配置整合amfphp
    php操作memcache的使用【转】
    notepad++ 快捷键大全
    utf8_general_ci和utf8_unicode_ci的比较
    50个必备的实用jQuery代码段
    强制浏览器下载PDF文件
    Ajax不能接受php return值的原因
    Proftpd mysql认证配置文档
    CI公用模型
    sublime 相关配置和快捷键
  • 原文地址:https://www.cnblogs.com/yeung/p/5112239.html
Copyright © 2020-2023  润新知