>>There are things that are easy to do to minimize data corruption, but I've seen it happen.
>
>Any particular reason you saw that happening? It could help me to make sure that I can put additional security in my apps just in case.
>
I've run into it quite a bit (we had an app. running at 150+ locations, each with their own LAN). The biggest causes were hardware related - things like a flakey network (router, NIC, cables), someone rebooting the server while people were still in the application and viruses. If you use any kind of buffering on your tables it seemed to make the problem worse. We'd get a call at least once a week with an issue where we'd have to either repair the table or the indexes because of it. Right before I stopped working on that application I had added some code which would automatically log the common file table corruption error messages. The next time they started up the app. it would let them know that it wanted to attempt to repair the problem (and ask them to exit on all of their other machines then create a file which would force everyone out of the app. while it ran).
On the SQL subject - other nice things about running SQL Server are being able to add new tables, change table structures, add indexes without having to get everyone out of the application. In any app that suddenly becomes used by everyone in the company that ends up being a big time saver - no more running around (or sending e-mails or app. notifications) to get everyone out (and keeping them from doing their work).