I'm currently using Microsoft Access 2000 to store some data and was thinking of upgrading to Microsoft SQL Server Express. At the moment, MS Access is fine for what I need it for (storing some basic client settings) but I'll soon start storing some historical information (about 10000 records per business day). My concern is MS Access will not be able to handle this load over time.
I did a test run to try and store these 10k records 500 times (just for fun). The result from this test was, after storing about 2.5 mio records, the db size was 2,147Mb and Access did not store any more records. From what I've read the size limitations of Access are about 2Gb so this sounds about right. I noticed that every time I stored these group of records, my db size increased by about 10Mbs give or take. I could then reduce the db size by compacting it. When I tried compacting the 2Gb db, after a few minutes, I got a warning saying "Invalid Argument" and the compacting was aborded. What I ended up doing was creating a new db, and importing all the tables into it. The total file size of the new db was 215Mb.
This test leads me to believe that MS Access is not the best choice for me
Here are my questions regarding SQL Server Express:
(1) Would SQL Server Express do, or would I have to purchase another version of MS SQL Server?
(2) Would the connectivity setup be similar to MS Access (i.e. specify an ODBC data source for it and connect to it using something like SQLConnect()? (I'm using C++)
(3) Will I still face the same type of limitations I faced with my MS Access test over time?
(4) If I started with SQL Server Express, but later needed to upgrade to a higher version, is there a utility that does this?
Thanks in advance for your replies.