Database corruption message when starting AYS

When starting AYS software I see a message similar to the following:

Some minor corruption has been detected in this database. The following index(es) are missing

Why does this happen, and what should I do?


This information applies only to Microsoft Access (.ays) databases. Enterprise edition SQL server databases have internal protection against corruption.

Why does this happen?

Microsoft Access databases are known to be susceptible to possible corruption. In fact, Microsoft has provided a built-in database repair process for this reason. Corruption is most often caused when writing data to the database fails abruptly. The following are a few common reasons:

  • Writing to the database when there is a sudden power outage
  • Writing to the database across an unstable network or from a location with a weak wireless network signal that periodically drops
  • When too many users are trying to write to the database at the same time

If you run the tools provided with AYS software you can often automatically repair most corruption yourself. However, some corruption must be manually repaired.

When database corruption cannot be automatically repaired by Microsoft’s built-in database repair process, any damaged data is replaced with empty placeholders. When this happens, database indexes (see below) are also automatically removed to prevent further damage to the data. To fix the problem, the damaged data needs to be cleaned up and the indexes restored. If the database is left unrepaired then further corruption of existing data can happen.

Why do I need indexes?

When you are looking for information in a book, you may use an index to help you jump to a particular topic on a specific page. Similarly, database indexes allow the software to jump to specific records very quickly. If a database index is missing then the software must search record by record through the database. This would be like if you had to look page by page through a large book for information. This is obviously much slower than using an index.

If you received a message that there are indexes missing, then you also likely noticed a recent significant slowdown in the database access speed of your AYS software, especially across a network.

Therefore, as of version 3.5.002, AYS software now automatically detects missing indexes and related database corruption so that the problem can be quickly fixed and resolved. This will restore the original database speed before the corruption, and it reduces the likelihood of further database corruption.

How do I get my database fixed?

Contact AYS support to arrange for a manual database repair. You will need to send us a copy of your database. We will clean up any damaged data, rebuild any missing indexes, and then promptly return the database to you. We will also let you know which specific records were corrupted, in case there was any data loss.

Please note that as part of the standard AYS license and support agreement, database repair is not included in any support contracts. Database repairs are billed at our standard hourly rate. It typically takes approximately one to two hours to complete the repair.

How do I prevent my database from getting corrupted again?

There is no guarantee that you will never have corruption in your Microsoft Access database in the future, but you can take practical steps to reduce the possibility. The following are some suggestions:

  • Power your computers and network devices using an uninterruptible power supply (UPS)
  • Use a hard-wired network instead of a wireless network
  • Run the built-in AYS database maintenance process weekly
  • Upgrade to an enterprise edition Microsoft SQL or MySQL database

SQL databases are not susceptible to corruption the way that Microsoft Access databases are. Depending on the database size, Microsoft Access databases have a practical limit of about 10 users before the performance and stability of the database significantly degrade. Therefore, especially if you have more than 10 users, we highly recommended using a SQL database.