all groups > sql server replication > april 2004 >
You're in the

sql server replication

group:

Replication general question


Replication general question dalia
4/28/2004 10:38:01 AM
sql server replication:
dear friends,

any idea that can make the merge agent doesn't replicate
the updated data from the subscriber?
although the agent status is successful and this message
appear ' no data needed to be merged' , although there was
Re: Replication general question Paul Ibison
4/28/2004 8:23:12 PM
Dalia,
is your merge replication bidirectional? (it is by default so unless someone
has gone out of their way to change the -EXCHANGETYPE parameter then this
won't be it, but it's worth checking). Next you could look at
MSmerge_contents to see if the modified record has made it there. You can
verify that the merge agent has actually run. Finally, if it has then
possibly the generation numbers are out of sync, and you might want to
manually remove the merge metadata.
HTH,
Paul Ibison

Re: Replication general question dalia
4/29/2004 3:12:42 AM
paul,
actually the exchange type is 1 , it's a one direction
merge publication , only upload from the subscriber to the
publisher. is there a way to validate the merge data and
resynchronize the data taking into considerations that i
want to match the data in the subscriber with the data in
the publisher and the publisher might contain more data
than the subscriber , because all subscribers update
(upload) the data on the publisher .

thanks


[quoted text, click to view]
Re: Replication general question Michael Hotek
4/29/2004 9:52:18 AM
Only one small thing. There is nothing about bi-directional in merge.
Merge can move data in both directions, just like queued updating and
immediate updating. Bi-directional refers to a very specific way of setting
up one way transactional replication only such that data can move in both
directions and very specific implications for your environment.

--
Mike
Principal Mentor
Solid Quality Learning
"More than just Training"
SQL Server MVP
http://www.solidqualitylearning.com
http://www.mssqlserver.com

Re: Replication general question Paul Ibison
4/29/2004 1:51:45 PM
Dalia,
as far as I remember, 1 is just push from the publisher to the subscriber.
If this is the case then it explains your issue. To test, make an update on
the publisher and run the merge agent to see if the change is sent down to
the subscriber. If it is, then you'll need to reset the exchange type and
reinitialize.
HTH,
Paul Ibison

Re: Replication general question Paul Ibison
4/29/2004 3:00:16 PM
Michael,
this terminology is used in BOL: Upload, Download and Bidirectional.
Is the hyphen the thing that distinguishes the term's use in transactional
from merge, or is BOL using non-standard terminology.
Cheers,
Paul

Re: Replication general question Michael Hotek
4/29/2004 4:19:04 PM
I know it is used in BOL and in a lot of other places. In my not so humble
opinion, it is not correct terminology and is the most misused term dealing
with replication. I've encountered way too many people who see
bi-directional, like it is really cool and exactly what they need, implement
it, and then watch their entire environment melt to the ground. They then
refuse to ever implement replication again, because "it doesn't work" or "I
had a really bad experience and won't ever try that again". That is because
there are a lot of people, you NOT included, who flip that term around all
over the place without the slightest clue what it really means and BOL
exacerbates the problem by trying to make it look a whole lot easier than it
really is.

I have one other term for bi-directional replication that I know Microsoft
doesn't like to hear. "Chaos everywhere" Bi-directional replication has no
arbiter. In a bi-directional system, unless you place a business
restriction on the data flow, there is zero possibility of defining the
state of your data at any point in time. That is because part of the data
is on one server, part of the data on another server, and part of the data
in the distribution database. On top of that, the data in the distribution
database from server 1 has absolutely no clue about the data in the
distribution database from server 2 and no agent in the system has the
slightest clue they are part of the same database "state". In addition, you
have to add in a parameter that prevents the replication engine for working
the way it was designed to work and explicitly preventing it from performing
some of its operations. If you toast the distributor in a bi-directional
system where you allow transactions on both sides, I give you a less than
zero chance of restoring the system without losing data.

Merge replication is two way data movement by default. It is not
bi-directional. Why? It does not suffer from any of the flaws of a
bi-directional system. The engine always knows the precise state of the
data. There is always a single arbiter which can define the master set of
data. And, you do not have to configure anything to prevent the engine from
working the way it was designed. The same holds true for queued updating as
well as immediate updating. There is a reason that for the last 8 years,
I've been VERY careful to distinguish between two way data movement and
bi-directional replication.

--
Mike
Principal Mentor
Solid Quality Learning
"More than just Training"
SQL Server MVP
http://www.solidqualitylearning.com
http://www.mssqlserver.com

AddThis Social Bookmark Button