Resolving MailStore database error code 335544381

What does the error mean?

This error occurs when the number of database transactions exceeds a fundamental limit. This only affects Firebird databases (the default for MailStore Archive Stores). The number of transactions is very high ( 231) but it is possible on older or larger installations that the limit can be reached over time.

Why is it a problem?

Once this transaction limit has been reached, no further transactions can be logged and MailStore detaches the Archive Store. This means that users and admins can no longer view messages within the Archive Store and no archive jobs can archive new messages to it. For this reason, it’s not something you would want to leave unresolved for long. 

How do I fix an Archive Store that has this error?

Once an Archive Store has reached the transaction limit a manual process must be followed to take a backup of the database. This process resets the transaction count on a copy of the database. The exact process is explained in the following MailStore Help guide but if you find this process taxing feel free to contact our support team who can help you with the process.

Will it happen to my MailStore Server?

Inevitably every MailStore server could eventually reach this transaction limit, but depending on the load on the server this may take months, years, or even tens of years before it does. Interestingly the major fact appears to be when running archive jobs that compare large volumes of mailbox data with archive data. This ‘compare’ process has to perform a high number of database transactions and we believe it’s this that had been the main factor in the two cases we have seen so far. So for example, if you use MailStore to only archive a single Journal mailbox, very few transactions occur and so it is very unlikely that you will ever see the limit, However, if you run a ‘multiple user mailbox job’ to compare many mailboxes that contain 1000’s of emails each then you may reach the limit much quicker. 

What can I do to prevent this from happening to me?

There is actually a very straight forward job you can perform in MailStore that will reset the transaction count by performing a database maintenance task. Just run the following command on the MailStore Management Shell: 

Schedule MaintainFileSystemDatabases

This will open a Schedule Task window asking you how often you wish to run the ‘MaintainFileSystemDatabases’ task

We want to run this task once a month so we select the ‘Other Trigger’, select to run as the system account, and click ‘OK‘ 

In this example I have selected to run the job once a month on the 1st day of the month, then click OK to save the job.