久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Dynamics 365-如何利用Audit History還原被刪除的數(shù)據(jù)

 新進(jìn)小設(shè)計(jì) 2020-09-16

 

  Audit History,,常被用來記錄record的日常操作信息,,包括創(chuàng)建,更新,,刪除,。這是一個(gè)非常實(shí)用的功能,想想看,,如果數(shù)據(jù)被誤修改了,,通過Audit History,可以很容易地找到修改前的數(shù)據(jù)值,,然后還原回來,;不僅如此,如果數(shù)據(jù)有異常,,也可以通過Audit History,,看看數(shù)據(jù)是由誰在什么時(shí)候給修改了。

  關(guān)于如何開啟Audit,,以及如何自定義配置Auditing,,這里不再多贅述,這些基礎(chǔ)操作都在Settings -> Auditing 里,,網(wǎng)上也有不少這方面的介紹

  這里著重想說的,,是在誤刪了數(shù)據(jù)之后,如何借用Audit功能,,還原數(shù)據(jù),。

  一般情況下,我們查看數(shù)據(jù)的Audit信息,,是通過具體record的Audit History,。

  但是如果這條record已經(jīng)被刪除了呢,上面的操作就行不通了,。

  這個(gè)時(shí)候,,可以看第一張截圖,,里面有個(gè)Audit Summary View,。在這里,我們將會(huì)有所發(fā)現(xiàn),。

  這里是其中的一條刪除的相關(guān)記錄,,可以看到,,最后的操作是Delete。

  如果你打開這條操作記錄,,里面會(huì)顯示這條記錄在刪除前的字段信息,,以及是誰在什么時(shí)候,執(zhí)行了刪除操作,。

  現(xiàn)在,,我們已經(jīng)有了這條刪除操作的記錄,那么如何還原這條記錄,,大致的思路也就很清晰了:

  1. 獲取Audit操作記錄

  2. 根據(jù)Audit中待還原記錄的字段信息,,還原數(shù)據(jù)

  下面是具體的代碼實(shí)現(xiàn):

//獲取所有的相關(guān)的Audit記錄
var auditrecords = service.RetrieveMultiple(new FetchExpression(fetchXML));
 foreach (Entityaudit in auditrecords.Entities)
{
          //根據(jù)Audit Id查詢Audit Details
          RetrieveAuditDetailsRequest auditDetailsRequest = new RetrieveAuditDetailsRequest();
          auditDetailsRequest.AuditId = audit.Id;
          RetrieveAuditDetailsResponseauditDetailsResponse =
          (RetrieveAuditDetailsResponse)service.Execute(auditDetailsRequest);
          //待還原對象是Audit Detail的OldValue
          AuditDetail auditDetail = auditDetailsResponse.AuditDetail;
          AttributeAuditDetail attributeAuditDetail = auditDetail as AttributeAuditDetail;
          //還原對象
          service.Create(attributeAuditDetail.OldValue);
 }

  需要注意的是,在過濾Audit記錄的時(shí)候,,以上面的例子來看,,我們想找的是對某個(gè)Entity的delete操作,那么條件包含如下:

  1. Delete操作,。在Audit Summary View中對Operation Filter的時(shí)候,,可以看到有4個(gè)選項(xiàng)

  其實(shí)Operation是一個(gè)OptionSet:Create -> 1; Update -> 2; Delete -> 3; Access -> 4

  logicalName: operation

  2. 某個(gè)Entity。這里需要的是Entity的OTC值

  logicalName:objecttypecode

  當(dāng)然,,根據(jù)不同的場景,,會(huì)用到不同的過濾條件,但是不管如何過濾,,需要提醒一點(diǎn)的是,,對待還原的數(shù)據(jù)多做一次確認(rèn),以免誤還原,,帶來更多的問題,。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多