In order to allow me to focus on Consulting (click here) and Courses (click here), I continue to review all posts here in the Forums, but, in general, I'm only personally responding to posts that I mark as #AcumaticaTnT (click here). For Questions (click here), others may respond, or you can post over at Community.Acumatica.com (click here).
Questions Manage / Reduce Database Size
I'm struggling to keep my database size down (space usage menu). I've setup Azure BLOB external storage and it helped tremendously, but I'm not quite sure what exactly was offloaded. And maybe I'll be paying for files I really don't need. For example, I have a bazillion emails with file attachments in them. They are archived, but they still have the files.
Can I mass delete emails somehow? Can I flip a switch so it doesn't save the attachments? Any ideas?
You can use the Trash Can icon on the All Emails (CO409070) screen to delete emails, but I have a feeling that it only sets the Deleted column in the database table to True and doesn't actually remove the record from the database. At least that would be consistent with how other records get handled in Acumatica.
Are you sure though that email attachments aren't getting pushed to Azure (or whatever external file storage has been setup)? I always assumed that they were, but I haven't actually confirmed.
What we really need is a "purge" functionality in Acumatica which, as far as I know, doesn't exist yet.
Why doesn't it exist? My guess is that it's because of Acumatica's young age and the fact that most of their customers were added in the last few years so there aren't many who have run into a need for this.
I suggest adding your vote and, more importantly, commenting with your specific situation, on this feedback idea which (thankfully) has already been marked as "Future Consideration" which means that the Acumatica team is looking at it:
In 2018 R2 this is built in, click on System Mgmt --> System --> Space Usage, this page shows the size of your database. The size of your database is determined by the number of tenants, snapshots and transaction volumes.
If you highlight the tenant ID & then click on View tables, this will show you tables that are growing in size and then you can probe into it. If it's SaaS then you need to contact Acumatica to clean those tables other deployments you can determine if it's worth cleaning the data without breaking it 🙂
You haven't seen a purge feature yet have you Harsha? I'm sure it's coming, especially now that more and more Acumatica customers have been running on Acumatica for multiple years.
I'd love to see them offer something like a "cold" storage option where you "purge" the data out of the Acumatica database, but into a blob in AWS (especially GL data). Blob storage is so cheap in AWS. And it can still be reported on with BI tools. Maybe even Velixo reports in the future.
Would love to hear thoughts from @gabriel-michaud1 on this.
In my experience in many cases the high database size is due to an overabundance of snapshots or log tables. In the past automation schedule history was the main culprit but in recent versions they added a setting to control the number of executions to keep in the log. PushNotificationErrors is another table that could be purged easily -- you if you don't have direct SQL access you can create a dummy customization project and run a TRUNCATE TABLE script to clean it during publishing. In the example above this table accounts for 50% of the total size of the tenant!
I'd be curious to hear what are the largest database sizes you've seen with Acumatica - one of the companies I work with has a 1tb database!
Good move having Acumatica do the purge. Make them earn their SaaS fee 🙂
Has this ever been solved with newer versions? We just added a user inbox as a system email account as a suggestion by Acumatica, and it jumped by database size from 80 to 95 GB. We've used Acumatica for 6 years and attach a lot of PDF scanned documents to our transactions. But having so many regular emails not attached to an Acumatica transaction is not practical. It should only keep emails that are tied to an activity, right? Why is it keeping a record of every email?