Showing posts with label subscriber. Show all posts
Showing posts with label subscriber. Show all posts

Thursday, March 22, 2012

A conflict issue, or something else...?

Tony,
are these changes made at different subscribers? If so,
then the last subscriber to synchronize will win. Perhaps
you need the 'Later Wins' resolver based on eg
a 'dateedited' column.
Rgds,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)
Paul,
Thanks for your suggestion.
The records concerned are filtered and only visible at the publissher and
one subscriber.
For now I've kludged the application at the subscribers to overwrite any
spurious changes but I'd like to understand whats happening.
Initially my thoughts were that an application at the publisher may be
rewriting whole rows rather than individual fields, so if a field 'name' was
to be updated the query was
update PRecs set check=X, name=Y where PRef=N
rather than
update Precs set name=Y where PRef=N
(it's difficult to tell as the app uses data aware controls and wasn't
written by us)
In any case I would have thought 'Subscriber Wins' would take care of things
in this situation. I'll try your later 'Later Wins' suggestion but I'd
love to understand what's going on. Some horrible performance issue perhaps,
maybe due to record changes while merge is in progress?
"Paul Ibison" <Paul.Ibison@.Pygmalion.Com> wrote in message
news:0c8801c4cb23$c1fe9f40$a501280a@.phx.gbl...
> Tony,
> are these changes made at different subscribers? If so,
> then the last subscriber to synchronize will win. Perhaps
> you need the 'Later Wins' resolver based on eg
> a 'dateedited' column.
> Rgds,
> Paul Ibison SQL Server MVP, www.replicationanswers.com
> (recommended sql server 2000 replication book:
> http://www.nwsu.com/0974973602p.html)
>
|||Tony,
'Treat changes to the same column as a conflict is selected' shouldn't make
any difference as it appears as though you don't have a conflict. However
you do have filters. If the record change violates the filter, it'll get
overwritten. If this is not the case I can't see how this is possible
Merge has no sense of the interim values - just the guid of the changes row
is of relevance, so the latest value at the time of running the merge agent
is used. Have you checked the conflict table just in case?
I'd guess it's either a filter issue or a conflict, although with your
selected resolver and one subscriber it's difficult to see.
Rgds,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)

Tuesday, March 20, 2012

a bit confused with merge replication?

hi all;
when i first read about merge replication , i used to think that:
when synchronized,subscriber receives changes at publisher and publisher
receives changes at subscriber and therefore both would always have same
data.
but when i configure a merge replication with pull subscription (in fact,
anonymous ) and do some tests , i see that changes in the subscriber are
propogated to publisher and deleted from subscriber. subscriber always has
the same the data when the initial snapshot was applied.
Bol says that i would mark subscription for reinitialization to get new
schema and data at the next synchronization. But reinitialization is done
before synchronization therefore changes at the subscriber will be
overwritten.
and i am using dynamic snapshot also.
What i want to do is to make subscriber and publisher have same data after
a synchronization.
Do i have to mark subscription for reinitialization after every
synchronization ? but then how can i preserve last changes at the
subscriber?
and dynamic snapshot job is now running on schedule.
is there way to make this job run after every synchronization so that
latest data and schema is always available.
thanks in advance...
Basically what happens is changes at the subscriber are merge with changes
at the publisher. If the changes are to the same row, it is termed a
conflict, and by default the publisher's changes will replace the changes on
the subscriber. If there are no conflicts, changes which occur on the
publisher are applied on the subscriber, and vice versa.
Use the conflict viewer to view any conflicts.
Only reinitialize if you want to propagate changes. You do not have to
reinitialize your subscription to get your publisher and subscriber to have
the same data.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"uykusuz" <ad> wrote in message
news:O3K86PBWFHA.2984@.tk2msftngp13.phx.gbl...
> hi all;
> when i first read about merge replication , i used to think that:
> when synchronized,subscriber receives changes at publisher and publisher
> receives changes at subscriber and therefore both would always have same
> data.
> but when i configure a merge replication with pull subscription (in fact,
> anonymous ) and do some tests , i see that changes in the subscriber are
> propogated to publisher and deleted from subscriber. subscriber always has
> the same the data when the initial snapshot was applied.
>
> Bol says that i would mark subscription for reinitialization to get new
> schema and data at the next synchronization. But reinitialization is
done
> before synchronization therefore changes at the subscriber will be
> overwritten.
> and i am using dynamic snapshot also.
> What i want to do is to make subscriber and publisher have same data
after
> a synchronization.
> Do i have to mark subscription for reinitialization after every
> synchronization ? but then how can i preserve last changes at the
> subscriber?
> and dynamic snapshot job is now running on schedule.
> is there way to make this job run after every synchronization so that
> latest data and schema is always available.
> thanks in advance...
>
>
|||Hilary, thanks for your answer,
but in my case, changes at the publisher are not applied to subscriber.
i insert one record to the 'TABLE_1 at the publisher and one at the
subscriber,
i get the following merge_status messages: (i use sqlMerge object at the
subscriber.)
-Uploading data changes to the Publisher
-Processing article 'TABLE_1'
-Uploaded 1 data changes (1 inserts, 0 updates, 0 deletes, 0 conflicts)
-Downloading data changes to the Subscriber
-Processing article 'TABLE_1'
-Downloaded 1 data changes (0 inserts, 0 updates, 1 deletes, 0 conflicts)
-Merged 2 data changes (1 inserts, 0 updates, 1 deletes, 0 resolved
conflicts).
Changes at the Subscriber are deleted automatically , therefore subscriber
always has the data when the last snapshot was applied..
"Hilary Cotter" <hilary.cotter@.gmail.com> wrote in message
news:OLlM4hCWFHA.4056@.TK2MSFTNGP15.phx.gbl...
> Basically what happens is changes at the subscriber are merge with
changes
> at the publisher. If the changes are to the same row, it is termed a
> conflict, and by default the publisher's changes will replace the changes
on
> the subscriber. If there are no conflicts, changes which occur on the
> publisher are applied on the subscriber, and vice versa.
> Use the conflict viewer to view any conflicts.
> Only reinitialize if you want to propagate changes. You do not have to
> reinitialize your subscription to get your publisher and subscriber to
have[vbcol=seagreen]
> the same data.
> --
> Hilary Cotter
> Looking for a SQL Server replication book?
> http://www.nwsu.com/0974973602.html
> Looking for a FAQ on Indexing Services/SQL FTS
> http://www.indexserverfaq.com
> "uykusuz" <ad> wrote in message
> news:O3K86PBWFHA.2984@.tk2msftngp13.phx.gbl...
publisher[vbcol=seagreen]
[vbcol=seagreen]
fact,[vbcol=seagreen]
are[vbcol=seagreen]
has
> done
> after
>
|||I found this on Paul Ibison's site:
How to...... avoid subscriber deletes? - when I use filtered articles and
add a record on a subscriber, it is later deleted?
Filtering works by creating a view on the publisher. Initialisation
doesn't send this view to the subscriber, and it is only checked on the
publisher. So, you can add a record on the subscriber and on synchronisation
this record will be sent as an insert to the publisher. here, the filter is
checked, and a delete is downloaded to the subscriber. If this is not the
way you want it to work you have 2 choices:
(a) modify the insert trigger on the subscriber to ensure it doesn't write
the changed record to MSmerge_contents.
(b) use partitioned views to partition your data based on the original merge
replication filter and only replicate one table.
if we modify the insert trigger on the subscriber to ensure it
doesn't write the changed record to MSmerge_contents ,
then this record would not be send to Publisher , am i wrong or miss
something?
i did not understand b. can someone explain it?
and isn't there a formal way to prevent subscriber deletes?
thnx so much...
"Hilary Cotter" <hilary.cotter@.gmail.com> wrote in message
news:OLlM4hCWFHA.4056@.TK2MSFTNGP15.phx.gbl...
> Basically what happens is changes at the subscriber are merge with
changes
> at the publisher. If the changes are to the same row, it is termed a
> conflict, and by default the publisher's changes will replace the changes
on
> the subscriber. If there are no conflicts, changes which occur on the
> publisher are applied on the subscriber, and vice versa.
> Use the conflict viewer to view any conflicts.
> Only reinitialize if you want to propagate changes. You do not have to
> reinitialize your subscription to get your publisher and subscriber to
have[vbcol=seagreen]
> the same data.
> --
> Hilary Cotter
> Looking for a SQL Server replication book?
> http://www.nwsu.com/0974973602.html
> Looking for a FAQ on Indexing Services/SQL FTS
> http://www.indexserverfaq.com
> "uykusuz" <ad> wrote in message
> news:O3K86PBWFHA.2984@.tk2msftngp13.phx.gbl...
publisher[vbcol=seagreen]
fact,[vbcol=seagreen]
are[vbcol=seagreen]
has
> done
> after
>
|||Hi,
the method off my site is an unsupported hack to conveniently avoid the
proper working of merge filters. If you want a more 'standard' way of doing
things, you could have a view with an 'instead of' trigger. Inserts that
violate the filter go to a separate table with an identical structure. The
view amalgamates the records. This way, synchronization proceeds as per
usual.
Rgds,
Paul Ibison SQL Server MVP, www.replicationanswers.com
(recommended sql server 2000 replication book:
http://www.nwsu.com/0974973602p.html)
|||Thnks Paul,
i have to do some research on these issues , i would probably be here soon
then.
bye...
"Paul Ibison" <Paul.Ibison@.Pygmalion.Com> wrote in message
news:Oji8AKKWFHA.2424@.TK2MSFTNGP10.phx.gbl...
> Hi,
> the method off my site is an unsupported hack to conveniently avoid the
> proper working of merge filters. If you want a more 'standard' way of
doing
> things, you could have a view with an 'instead of' trigger. Inserts that
> violate the filter go to a separate table with an identical structure. The
> view amalgamates the records. This way, synchronization proceeds as per
> usual.
> Rgds,
> Paul Ibison SQL Server MVP, www.replicationanswers.com
> (recommended sql server 2000 replication book:
> http://www.nwsu.com/0974973602p.html)
>

Tuesday, March 6, 2012

64-bit Replication

In SQL Server 2000 replication, is it possible to have 64-bit SQL Server 2000 Publisher and 32-bit SQL Server 2000 as distributor and subscriber? If, it's possible will there be any performance impact?

Thanks,
Ritesh

If you have the latest service pack SP4, then I believe you should be able to replicate without any performance impact.

Saturday, February 25, 2012

64 Bit Subscriber Compability

I am going to buy 2 new 4 way 64 bit boxes and i was wondering if they are
going to be compatible for my current 32bit transactional replication.
In other words they are going to become subscribers of my current
replication. I read an article on microsoft that said that 64bit SQL
Replication will not work if the subscriber is a 32bit Edition of SQL, so i
am wondering if it will work the other way around.
Thank you,
Yovan Fernandez
My understanding is that it will work. Where is this article you are
referring to?
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"Yovan Fernandez" <YovanFernandez@.discussions.microsoft.com> wrote in
message news:54D866E8-BBF4-4799-8224-1CC3B7F7AB07@.microsoft.com...
> I am going to buy 2 new 4 way 64 bit boxes and i was wondering if they
are
> going to be compatible for my current 32bit transactional replication.
> In other words they are going to become subscribers of my current
> replication. I read an article on microsoft that said that 64bit SQL
> Replication will not work if the subscriber is a 32bit Edition of SQL, so
i
> am wondering if it will work the other way around.
> --
> Thank you,
> Yovan Fernandez