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?

Note

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 across an unstable network, such as from a location with a weak wireless network signal that periodically drops, or after a computer network card or other network device has gone to sleep (e.g. energy-saving mode).
  • Writing to the database when there is a sudden power outage.
  • When too many users are trying to write to the database at the same time on a large database.
  • In rare cases, a network device or hard drive is beginning to fail.

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:

  • Use a hard-wired network instead of a wireless network.
  • If a wireless network must be used, ensure that computers are located where the wireless signal is very strong and stable. Close the AYS program before moving a laptop from one location to another during which the signal could drop.
  • Ensure that all computer network cards and other network devices are configured to never go to sleep (i.e. disable energy-saving mode).
  • Power your computers (especially the computer or server where the database is located) and network devices using an uninterruptible power supply (UPS).
  • Run the built-in AYS database maintenance process weekly.
  • In cases of persistent database corruption, have your IT support run diagnostics on your network devices and/or the hard drive where the database is located.
  • 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. (Note that if your corruption issues are being caused by network issues then you may still get database disconnection errors, but the database will not become corrupted.)