CRM 2011 – A tool to recover deleted CRM records

I remember reading somewhere that records are never deleted in CRM, instead their state is set to deleted.  I’m not sure if that is true but I think that’s because I haven’t had to retrieve any deleted items so haven’t worried about seeing if this was true

today I found a tool which says it can recover deleted records, here is how it describes the tool

Record Recovery gives a system user the ability to recover deleted CRM records. Providing that auditing is enabled this tool can utilise auditing data to recover deleted records. Record Recovery has been produced using the Microsoft Silverlight 4 framework and integrates seamlessly into Microsoft Dynamics CRM 2011. Record Recovery is one tool that CRM developers and consultants alike should have in their arsenal.

you can go here to read about the tool, you will need to sign up for the website but you can then download the tool for free

interestingly it comes as a solution file, I don’t know why I find this unusual because it’s actually a very neat way of doing things.

I’m not sure how it works but when I tried to use it said that auditing has to be enabled.  So I guess it picks up the audited values and then recreates them?

This solution sets the mind thinking, very interesting indeed.  It might be more interesting once I actually get it to work but I will probably file it away for now until I need it later



9 thoughts on “CRM 2011 – A tool to recover deleted CRM records

  1. AdamV June 29, 2011 / 11:52 am

    In CRM 4.0 records were flagged as deleted and cleaned up later. In CRM 2011 they are immediately deleted.
    As far as I can tell this tool works on the principle that you need to have pretty much everything about your entity audited so you can “replay” everything that happened including and since record creation, kind of like playing back transactions to rebuild them from scratch.
    Not sure how this would play out with workflows and plugins which this process might trigger, I guess they would be triggered to run just the same, which may or may not be what you want.


    • Hosk June 29, 2011 / 11:58 am

      ahh of course I remember now, CRM deletes the flagged items when it has time and resource later.

      when I was thinking of how this would work, it triggered the reply process which the outlook upload/sync process goes through. It basically does a playback of all the items changed/added offline and then runs a playback of them to see if it can add them in (it might not be able to).

      I suppose one weakness would mean you would have audit the key values and then accept defaults for any thing you weren’t auditing.

      but saying that it’s still a pretty useful tool and a good idea


  2. Mona October 29, 2012 / 12:04 pm

    I get an error: “Unable to build audit view.” when I click on Record Recovery on homepage. I can click ok then but I don’t have any deleted records on the list, although I enabled auditing and deleted some records. What does it mean? Full error message:

    Error Message: Unable to build audit view.

    Error Occurred On: 2012-10-29 – 12:24

    Call Stack: There is no call stack to display for this error.

    Inner Error Message: Index was out of range. Must be non-negative and less than the size of the collection.
    Nazwa parametru: index

    Inner Error Call Stack: w System.ThrowHelper.ThrowArgumentOutOfRangeException()
    w System.Collections.Generic.List`1.get_Item(Int32 index)
    w CRMCodex.RecordRecovery.Model.AuditableEntitiesModel.EndGetAuditView(IAsyncResult result)


    • Dynrules November 14, 2012 / 12:20 am

      Hi Mona,
      Did you find the solution for this message?. Please let me know if you found it. I need to recover 20 opportunities records that a user deleted.
      Thanks in advance.


  3. Mona October 29, 2012 / 12:38 pm

    Thanks, I’ll try.


  4. Dynrules November 13, 2012 / 5:43 pm

    Thanks for the solution!🙂, I´ve just installed but I received the next error:
    Error Message: Unable to build audit view.

    Error Occurred On: 13/11/2012 – 11:28 a.m.

    Call Stack: There is no call stack to display for this error.

    Inner Error Message: [ArgumentOutOfRange_Index]
    Las cadenas de recursos de depuración no están disponibles. La clave y los argumentos suelen proporcionar suficiente información para diagnosticar el problema. Vea
    Nombre del parámetro: index

    Inner Error Call Stack: en System.Collections.Generic.List`1.get_Item(Int32 index)
    en CRMCodex.RecordRecovery.Model.AuditableEntitiesModel.EndGetAuditView(IAsyncResult result)

    I hope Mona got solution for this error.

    Thanks again.



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s