zoukankan      html  css  js  c++  java
  • 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的时候,要有针对性的,根据实际的需要来开启,而不是全面开启,那样就有点滥用了。

  • 相关阅读:
    (二分)进击的奶牛
    (二分)木材加工
    (简单并查集)The Suspects
    (递归)集合划分
    (简单并查集)How many tables?
    Wireless Network(并查集)
    (并查集)连通块中点的数量
    2019.04.08 电商17 购物车模型
    2019.04.08 电商 16 地址管理2
    2019.04.07 电商15 地址管理
  • 原文地址:https://www.cnblogs.com/yeung/p/5112239.html
Copyright © 2011-2022 走看看