Re: Is there a way to tell if two replicas need to be synced without starting the sync process
- From: rdemyan@xxxxxxxxxxx
- Date: 22 Dec 2006 12:57:42 -0800
Regardless of whether we agree or not, there is some educational value
in determining which tables are updated so that the direct
synchronization process knows whether or not to update (my assumption
is that it doesn't go through table by table to make this
determination).
Here is what my research suggests so far:
1) The maximum value of s_Generation in MSysGenHistory would seem to
indicate the number of times a replicated database has been synched.
2) When deleting a single record in a replicated back-end table, I
noticed that the number of records in MSysTombstone increased by one.
However, I have been unable to find a change in a replication system
table that indicates when a record has been added or modified. Is
there such a change or does Jet, in fact, go through table by table,
row by row?
David W. Fenton wrote:
rdemyan@xxxxxxxxxxx wrote in
news:1166803499.900559.90650@xxxxxxxxxxxxxxxxxxxxxxxxxxx:
What if I link to the MSysRepInfo table in both the remote replica
and the server replica. Then when the syncing process is invoked
(either upon closing of the app or manually by the user), the code
will retrieve the s_Generation field value (is that the right
field?) from both linked tables and compare them. If the same,
don't sync. The point of doing this is why open the tables and
attempt a sync when it's not needed. As I understand it,
corruption rarely if ever occurs from simply reading table values,
which is what this little function would do.
Do you really understand enough about Jet to make this
determination?
Any time you read data in an MDB, on termination of the connection,
Jet writes a flag indicating whether or not the connection
terminated successfully. When that flag is not set, Jet assumes the
database is corrupted (even if it's actually not). When that happens
in a replicated MDB, even when it's only the flag that's wrong and
there's no actual data corruption, 9 times out of 10, the result of
compacting the database is that it loses replicability.
This can happen even with the most minimal read operation.
Face it: you don't really know enough about Jet to be making this
determination. What you assume to be OK and true is simply not.
--
David W. Fenton http://www.dfenton.com/
usenet at dfenton dot com http://www.dfenton.com/DFA/
.
- Follow-Ups:
- References:
- Is there a way to tell if two replicas need to be synced without starting the sync process
- From: rdemyan
- Re: Is there a way to tell if two replicas need to be synced without starting the sync process
- From: David W. Fenton
- Re: Is there a way to tell if two replicas need to be synced without starting the sync process
- From: rdemyan
- Re: Is there a way to tell if two replicas need to be synced without starting the sync process
- From: David W. Fenton
- Is there a way to tell if two replicas need to be synced without starting the sync process
- Prev by Date: Re: Problem with opening Conflict Resolver using Shell
- Next by Date: Indirect synchronization setup with no synchronizers on servers
- Previous by thread: Re: Is there a way to tell if two replicas need to be synced without starting the sync process
- Next by thread: Re: Is there a way to tell if two replicas need to be synced without starting the sync process
- Index(es):
Relevant Pages
|