Old Bob said:
Well, you just gave me a scare... I have been
told that my 2003 Access database is pushing
the edge at 131 mb for a database that has
five users who are adding and changing data
on a daily basis.
131MB is "child's play" for Access. Many people are running databases that
push the 2GB limit, with millions of records in their tables. Five users,
likewise, is "child's play" for Access in a multiuser Access - Jet
environment.
I can't see preceding messages in this thread, so I don't know what you were
told, nor who told you. Of course, especially with the anonymity of the
Internet, anyone can tell you anything. But, them telling you that doesn't
necessarily make it so -- I could tell you that the sun is going to rise in
the western sky in the morning, but I wouldn't expect you to be so gullible
as to set your alarm to wake up early and be out on the lawn at sunrise so
you wouldn't miss this once-in-an-eternity event. "Adding and changing data
on a daily basis" is rather imprecise, but a well-designed and
well-implemented Access-Jet multiuser database can easily handle ten times
that many concurrent users, not just "daily" users. (And, I've worked on
databases where users updated the information daily, and there were rarely
ever even two users concurrently logged in.)
I've been told that we need to move to SQL Server
ASAP to avoid database corruption issues. Are these
concerns valid?? We're a non-profit, so I hate to
spend development money if it is not needed.
It's possible that your database may have some specific situations that make
it more vulnerable than most, but, as a general rule, this sounds like the
"scare tactics" often used by people wanting to make money off a conversion
project. Even if you do have such specific situations (and only some
detailed study would likely reveal that), it would likely be much more
cost-effective to identify and resolve those situations than launch a
conversion project.
What "front end" components does Access
have that SQL Server does not?
SQL Server has no "front end components". You can store your data in, and
retrieve it from, SQL Server, but you can't build a user interface to the
database with SQL Server as you can with Access.
I have developed several smaller Access data-
bases that are interlinked with the 131 mb db.
I don't know what, specifically, you mean by "interlinked." But, in my
experience you can use SQL Server as a back-end, with some Tables in the
user's front-end. In the database applications I worked on, we used
front-end Tables for rarely-ever-changing Lookup Tables (e.g., U.S. states
and Canadian provinces) and for some other Lookup Tables that did change
occasionally but were frequently used -- which we'd download from the back
end when a user started up the front-end).
I don't want a nightmare if we convert just
the one db.
My observation is that, if you have good SQL Server personnel to help you
over a few rough spots, "nightmare" would be too strong a word. On the
other hand, server databases need more "administration" so you had best plan
on at least a part-time Database Administrator (DBA) if you move.
And I don't want to have to learn
SQL Server.
As with most anything in the computer business, "you've gotta know what
you're doing." If you switch your back-end storage to SQL Server, someone is
going to have to know SQL Server -- the administrator, for sure, and, if you
are the developer, you, too, unless you are willing to produce a junk
application.
Further, if you let someone scare you into switching, you'd better ask them
what they suggest you use to create the "client application." If it is
going to be running on a LAN, view all their suggestions with some
skepticism if they don't say, "Oh, you can stick with Access for that part."
Finally, here are some observations I've posted before on the subject of the
number of users a multiuser Access-Jet system can support:
"Factors in how many users can be supported in multiuser include the
requirements, design, and implementation of the database application and the
hardware, software, and network environments. If all factors are near
perfect, we have reliable reports of over 100 concurrent users. Even if not
all are near perfect, we routinely see reports of 30 - 70 users. But, in
cases where we are rather sure that all are about as far from perfect as can
be, people have reported Access "falling over" with as few as four users.
I'd venture to guess that if someone went out of their way to do everything
wrong, it would be possible to create a database that wouldn't even support
one or two users. <GRIN>"
There's lots of detailed information available on avoiding performance
problems and avoiding database corruption in a multiuser environment. MVP
Tony Toews' site
http://www.granite.ab.ca/accsmstr.htm is one that has a
great deal of such information.
Larry Linson
Microsoft Access MVP