I have a customer that has been experiencing system slow downs during the transaction tender/posting process. The problem manifests as a slow down either when the tender screen displays, while trying to enter amounts in the tender screen, or when finishing the sale (slow response of receipt print, cash drawer pop, etc.).
This problem is very sparadic. We can reboot their server and things can run fine for days or weeks, then the registers come to a grinding halt, returning a "Not Responding" status at the time of tender. IF the customer waits it out, the register eventually catches up and finishes the sale. No RMS or SQL related error is displayed when this happens.
Environment:
Dedicated Windows 2003 server
Two registers, both running Windows 7
RMS 2.0 SP4 version 2.0.0159
SQL version 2008 Express R2 SP1
The database is 4,025,125
Recent steps taken to improve performance:
Database was reindexed (no improvement)
Database was backed up, dropped, and recreated using backup file (no improvement)
Database was shrunk (seems to have improved)
Database growth was changed from the default 10% to 20meg
Server was rebooted.
So far, one day after all of this, things seem to be running fine. However, I'm looking for other ways to optimize database performance. I've found that they have batches that date back 10 years in their system. The question is, if I use the published SQL commands to delete old batches (previous to a specific batch number), would that positively effect performance? If I delete those, will I in any way damange the accounts receivable information on their customers?
Thank you very much for any advice
Gregg