Moving to SQL will not fix all your performance issues. In order to
move effectively, you'll need to rewrite a lot of the Access front-end
code to take advantage of the backend processing that SQL Server can
provide. If you just migrate all your tables to SQL Server, your
performance will likely not improve. You'll want to take advantage of
SQL Pass-Through queries and linked views, and stored procedures which
enable processing to be done on SQL Server and only the result to be
passed back to Access. Access to Access solutions processes the data
client-side, so the network can get hammered with data moving across
the network. By taking advantage of the server-side processing the
data moves much faster across the network, but this requires
significant code changes. You'll also want to make sure that SQL
Server is setup with the proper indexes as well, otherwise the server-
side processing could take a long time (on only one box, rather than
distributed across 20 boxes.) Proper indexing is important on either
platform.
With Access 97, you can't use an ADP file. ADPs were supported in
Access 2000 and above, so you would need a more current version of
Access to support an ADP solution.
Before you upgrade, try some cheap fixes:
1) Backup, then Repair and Compact the front-end and backend Access
MDB files. Access files grow fast and don't shrink themselves. An
occasional Repair and Compact can help with performance.
2) Review the index usage in the Access application to make sure that
it's has the right indexes on the right fields, and no duplicated
indexes. Indexes can really improve performance, but there is a point
of diminishing returns. Access can sometimes auto-create indexes that
are not helpful. (It defaults to creating indexes on all fields named
with a suffix of ID, but when you add that field as a primary key, it
creates another index.)
3) Since this is an Access 97 solution, it's probably been in use for
quite awhile. Possibly consider archiving portions of the data into
another MDB file and link to that database only when it's required?
-Eric Isaacs
J Street Technology, Inc,
http://www.jstreettech.com/ >> Stay informed about: Upgrading backend from Access 97 to sql server