|
|
|
date: Wed, 27 Aug 2008 08:55:00 -0700,
group: microsoft.public.access
back
Re: Database keeps corrupting
MVP Tony Toews' site, http://www.granite.ab.ca/accsmstr.htm has much
information on multiuser Access database applications, including avoiding
corruption and performance. You will find several other sites, rich with
Access information, in the Resources list at
http://sp.ntpcug.org/accesssig/.
The immediate first step I would advise is to split your database into front
end or FE (queries, forms, reports, macros, and modules) with a copy on each
user's machine, and a back end or BE (tables, data, and relationships) on a
shared folder (because of the number of connections available, preferrably
on a server). Having multiple users logged in to the same front end or
monolithic database substantially increases the probability of corruption --
some people go for years without experiencing much or any corruption in that
environment, and then some minor change will trigger frequent corruptions.
Other steps may include creating a new empty database and importing each
object from the FE into a new FE, doing the same for the BE; simply updating
your version of Access with all current Service Packs, or moving to another
version of Access; using the SaveAsText and LoadFromText to eliminate the
possibility of "silent corruption" that is hidden some of the time and
occasionally manifests itself in the corruption you are seeing. But these
are all covered, and in detail, in the references above.
You will, no doubt, receive advice that "Jet is unsuitable" and that you
should upsize to SQL Server. In certain cases, that can help with the
problem, but it is no panacea or cure-all, and there are many approaches
that usually alleviate the problem with Jet, without investing in the time,
effort, and expertise necessary to install and maintain a server database.
Usually, in this newsgroup, such advice comes from a single poster, labeled
by many as "just a troll" because his posts lack technical depth and
substance.
Larry Linson
Microsoft Office Access MVP
"Ben M" wrote in message
news:718BF03D-2B7B-4A98-97DF-22212A0A0B5E@microsoft.com...
>I have an Access 2000-2003 database that is continually corrupting. Even if
>i
> make a copy and open the copy on a single machine, just doing a single
> action
> like opening a table or a form can corrupt the database.
>
> I have tried compacting and repairing which doesn't help. The database is
> quite a complex one but is not split into a front end and a back end.
> There
> is a lot of code in the database. The database is about 6 years old and
> about
> 33mb. It is generally accessed by between 2 and 5 users using Access 2003
> on
> a XP OS.
>
> Can anyone give me any help as to what i could do to make the database
> more
> stable? At the moment, almost any design change seems to trigger it to
> corrupt.
>
> Ben
date: Wed, 27 Aug 2008 11:25:35 -0500
author: Larry Linson
Re: Database keeps corrupting
Thanks Larry and Roger for the information. It is very helpful. I have
already tried on several occasions creating a new database and importing the
objects from the old database into it. However the new database always
corrupts in the middle of the import process at different points.
I'll look into the other options you talked about and do some more research.
I do think splitting the database may not be practical as it is likely to
slow the database down so much. This database is used on a large University
Network, so I'm not sure how fast their network is.
Ben
"Larry Linson" wrote:
> MVP Tony Toews' site, http://www.granite.ab.ca/accsmstr.htm has much
> information on multiuser Access database applications, including avoiding
> corruption and performance. You will find several other sites, rich with
> Access information, in the Resources list at
> http://sp.ntpcug.org/accesssig/.
>
> The immediate first step I would advise is to split your database into front
> end or FE (queries, forms, reports, macros, and modules) with a copy on each
> user's machine, and a back end or BE (tables, data, and relationships) on a
> shared folder (because of the number of connections available, preferrably
> on a server). Having multiple users logged in to the same front end or
> monolithic database substantially increases the probability of corruption --
> some people go for years without experiencing much or any corruption in that
> environment, and then some minor change will trigger frequent corruptions.
>
> Other steps may include creating a new empty database and importing each
> object from the FE into a new FE, doing the same for the BE; simply updating
> your version of Access with all current Service Packs, or moving to another
> version of Access; using the SaveAsText and LoadFromText to eliminate the
> possibility of "silent corruption" that is hidden some of the time and
> occasionally manifests itself in the corruption you are seeing. But these
> are all covered, and in detail, in the references above.
>
> You will, no doubt, receive advice that "Jet is unsuitable" and that you
> should upsize to SQL Server. In certain cases, that can help with the
> problem, but it is no panacea or cure-all, and there are many approaches
> that usually alleviate the problem with Jet, without investing in the time,
> effort, and expertise necessary to install and maintain a server database.
> Usually, in this newsgroup, such advice comes from a single poster, labeled
> by many as "just a troll" because his posts lack technical depth and
> substance.
>
> Larry Linson
> Microsoft Office Access MVP
>
> "Ben M" wrote in message
> news:718BF03D-2B7B-4A98-97DF-22212A0A0B5E@microsoft.com...
> >I have an Access 2000-2003 database that is continually corrupting. Even if
> >i
> > make a copy and open the copy on a single machine, just doing a single
> > action
> > like opening a table or a form can corrupt the database.
> >
> > I have tried compacting and repairing which doesn't help. The database is
> > quite a complex one but is not split into a front end and a back end.
> > There
> > is a lot of code in the database. The database is about 6 years old and
> > about
> > 33mb. It is generally accessed by between 2 and 5 users using Access 2003
> > on
> > a XP OS.
> >
> > Can anyone give me any help as to what i could do to make the database
> > more
> > stable? At the moment, almost any design change seems to trigger it to
> > corrupt.
> >
> > Ben
>
>
>
date: Thu, 28 Aug 2008 02:19:01 -0700
author: Ben M
Re: Database keeps corrupting
That's the indication that there are one or more corrupted objects. Try
importing subsets of the objects until you can directly identify the
corrupted ones. If you've already split the database, the tables are not the
issue in the FE. You could start by importing all the forms. If that works,
then try all the reports, etc. If any group fails, try again, importing half
the objects. Etc.
Once you identify the corrupted object(s), create a clean database and
import all the good objects. Then you can either import older copies of the
corrupted objects from backups before the corruption, or re-create them.
"Ben M" wrote in message
news:6B66303A-D799-480E-8ADC-9F430C495E5B@microsoft.com...
> Thanks Larry and Roger for the information. It is very helpful. I have
> already tried on several occasions creating a new database and importing
> the
> objects from the old database into it. However the new database always
> corrupts in the middle of the import process at different points.
>
> I'll look into the other options you talked about and do some more
> research.
> I do think splitting the database may not be practical as it is likely to
> slow the database down so much. This database is used on a large
> University
> Network, so I'm not sure how fast their network is.
>
> Ben
>
> "Larry Linson" wrote:
>
>> MVP Tony Toews' site, http://www.granite.ab.ca/accsmstr.htm has much
>> information on multiuser Access database applications, including avoiding
>> corruption and performance. You will find several other sites, rich with
>> Access information, in the Resources list at
>> http://sp.ntpcug.org/accesssig/.
>>
>> The immediate first step I would advise is to split your database into
>> front
>> end or FE (queries, forms, reports, macros, and modules) with a copy on
>> each
>> user's machine, and a back end or BE (tables, data, and relationships) on
>> a
>> shared folder (because of the number of connections available,
>> preferrably
>> on a server). Having multiple users logged in to the same front end or
>> monolithic database substantially increases the probability of
>> corruption --
>> some people go for years without experiencing much or any corruption in
>> that
>> environment, and then some minor change will trigger frequent
>> corruptions.
>>
>> Other steps may include creating a new empty database and importing each
>> object from the FE into a new FE, doing the same for the BE; simply
>> updating
>> your version of Access with all current Service Packs, or moving to
>> another
>> version of Access; using the SaveAsText and LoadFromText to eliminate the
>> possibility of "silent corruption" that is hidden some of the time and
>> occasionally manifests itself in the corruption you are seeing. But these
>> are all covered, and in detail, in the references above.
>>
>> You will, no doubt, receive advice that "Jet is unsuitable" and that you
>> should upsize to SQL Server. In certain cases, that can help with the
>> problem, but it is no panacea or cure-all, and there are many approaches
>> that usually alleviate the problem with Jet, without investing in the
>> time,
>> effort, and expertise necessary to install and maintain a server
>> database.
>> Usually, in this newsgroup, such advice comes from a single poster,
>> labeled
>> by many as "just a troll" because his posts lack technical depth and
>> substance.
>>
>> Larry Linson
>> Microsoft Office Access MVP
>>
>> "Ben M" wrote in message
>> news:718BF03D-2B7B-4A98-97DF-22212A0A0B5E@microsoft.com...
>> >I have an Access 2000-2003 database that is continually corrupting. Even
>> >if
>> >i
>> > make a copy and open the copy on a single machine, just doing a single
>> > action
>> > like opening a table or a form can corrupt the database.
>> >
>> > I have tried compacting and repairing which doesn't help. The database
>> > is
>> > quite a complex one but is not split into a front end and a back end.
>> > There
>> > is a lot of code in the database. The database is about 6 years old and
>> > about
>> > 33mb. It is generally accessed by between 2 and 5 users using Access
>> > 2003
>> > on
>> > a XP OS.
>> >
>> > Can anyone give me any help as to what i could do to make the database
>> > more
>> > stable? At the moment, almost any design change seems to trigger it to
>> > corrupt.
>> >
>> > Ben
>>
>>
>>
date: Thu, 28 Aug 2008 08:45:21 -0400
author: Paul Shapiro
Re: Database keeps corrupting
You can see if any of Allen Browne's Corrupt Repair tips apply:
http://www.allenbrowne.com/tips.html
I guess you've already tried importing just that single table into a new db,
and it fails? You've also probably done a Compact and Repair, without any
improvement?
Other possibilities might be:
1. http://support.microsoft.com/kb/283849 offers some suggestions, including
exporting the table from Access in delimited text format and then
reimporting to a new table.
2. Try linking to that table from a new db. If you can open a recordset with
VBA, you might be able to loop through the records inserting them into a new
table in the linking db. When it fails, try restarting from a later record
to see if you can skip individual corrupted records.
3. You could see if another application can import the data from that table,
like Excel. Probably not, but you never know.
Last possibility is one of the commercial Access recovery services. They are
probably expensive, and I've never used any, but several have excellent
reputations. Search on google since I don't remember any names.
"Ben M" wrote in message
news:9828B87A-FCEF-4256-997F-F9311A999F23@microsoft.com...
> Hi Paul,
>
> Thanks very much for your reply. It was very helpful. I have located one
> of
> the corruption issues as being in one of the tables (I'm not sure if this
> is
> the only one!). Every time i open the table, the database corrupts. Do you
> know of a way i can locate the corrupt data and get rid of it without the
> need to open the table?
>
> This is one of the main tables which i will not be able to replace from a
> back up.
date: Thu, 28 Aug 2008 09:42:08 -0400
author: Paul Shapiro
|
|