What is the best solution for recovering a deleted record(s)? I understand that we can go back to any point in the Power Platform Admin and restore there. Still, the problem is that the Dataverse backup always contains the entire database. There is no built-in way to restore records just from a specific table.
Based on my research, I can create a new table called "Backup." Then whenever a record is deleted, I use patch and defaults functions to move that deleted record to the "Backup" table. I've also found a company called "OwnBackup" that does backup and recovery, particularly in recovering records however there are limitations (https://kb.ownbackup.com/wikis/dynamics/Limitations)
Hi!
Try FluentPro Backup for Dataverse. This cloud-based platform offers automated backup and restore features for table data. FluentPro Backup provides the ability to recover deleted or damaged table data fully or granularly. The granular restoration feature allows you to recover only some records from a specific table. So, there is no need to retrieve the whole table and spend additional time restoring all data.
@teach20 what if have not linked my solution to azure synapse. Is there any other to recover deleted column from dataverse table?
Hello, @teach20, depend on your data records size, you can utilize this approach I have in this tutorial to daily export your tables to Excel. Those Excel files can be used to restore your dataverse tables using your dataverse GUIDS columns when mapping the columns in the restore dataflows. Make sure the exported excel csv files include the GUID columns.
https://powerplatformplace.com/f/daily-dataverse-tables-backup-using-power-automate
General rule, don't give users permissions to delete anything important, it is easier to prevent it happening than fix it later. When we do this we also will often add an new status reason to indicate it is a 'soft delete' rather than just an intentional deactivating.
Other potential options:
But, depending on how complex your system is this may not be straight forward, e.g. maintaining relationships with other records, interfaces with other systems. Also need to remember that if re-creating would trigger any plugins. workflows, flows etc you have to manage that also
As @ChrisPiasecki says, never allow users to delete anything, always edit security roles to stop this. They can deactivate records.
I have had this scenario recently. Restore a backup from before the record was deleted to a new environment, go into that new environment and locate the record, and then depending on complexity:
1) manually recreate it
2) download that record to excel and import into the prod environment
3) Use Kingsway (or similar) to rebuild the record correctly if it is more complex.
4) tell the user tough ...
I'm not sure about your BackUp table solution; that would require plugins on every record - just use Synapse as mentioned.
Hi @teach20 ,
There won't be a way to automatically do a partial restore of records. It will be a manual process.
One method is to leverage Azure Synapse Link for Dataverse to have the data inside of an Azure Data Lake or Synapse Analytics workspace. Configuring append-only writes will allow you to maintain versions of the data, including deleted records. From there you could manually recreate the record in Dataverse from the data.
In many implementations that I've done, regular users won't have delete privileges to avoid this type of scenario. Delete privileges are only given to a higher privilege security role with only a handful of users assigned it. Many organizations will have retention requirements and so certain data should not be deleted. Instead, you can setup retention policies in Dataverse to automatically delete the records after so many months/years/etc.
---
Please click Accept as Solution if my post answered your question. This will help others find solutions to similar questions. If you like my post and/or find it helpful, please consider giving it a Thumbs Up.
stampcoin
15
ankit_singhal
11
Super User 2025 Season 1
mmbr1606
9
Super User 2025 Season 1