Showing posts with label merge. Show all posts
Showing posts with label merge. Show all posts

Tuesday, March 20, 2012

Big Problem on Merge Replication

Hi, I'm working on a project taht involve SQLSever 2K and SQLSevre CE.
We have about 50 remote terminal that daily sincronize with one server but
each day something wrong happend.
The last one in order of time is this error
Error number 80004005
Native number 29006
Error descripcion: A call to SQL Server reconcilier failed. [,,,,,]
SSCE_M_SQLRECONCILIERFAILED
Followed by:
Source: Merge replication provider
Error number 80045063
Error descripcion: Failed to enumerate changes in the filtered articles
and then by this:
Source: srtv
Error number : 0
Native number: 0
Error descripcion: Call sp_MSsetupbelongs (?,?,?,?,?,0,?,?,1,?,?,?,?,?,?)
Usually at this time the only possibility is to delete the sdf database and
to resincronize the remote terminal.
I have already found an article in KB 328314 - FIX: Cannot Upload Null
Values in Sql_variant Data Type by Using SQL Server CE Merge Replication
but without possible solution and the strange thing is that I have no
Sql_variant Data on my Db.
Please help me because the project is at high risk of crash!!!
Thanx in advance
Best Regards
Gianluca Padovani
what happens if you restart your application that runs the merge pull?
Normally this will clear this error.
Hilary Cotter
Looking for a book on SQL Server replication?
http://www.nwsu.com/0974973602.html
"Gianluca Padovani" <Gianluca Padovani@.discussions.microsoft.com> wrote in
message news:2F7758AC-A8C6-40B9-8EE1-3C2B0ACEBD1F@.microsoft.com...
> Hi, I'm working on a project taht involve SQLSever 2K and SQLSevre CE.
> We have about 50 remote terminal that daily sincronize with one server but
> each day something wrong happend.
> The last one in order of time is this error
> Error number 80004005
> Native number 29006
> Error descripcion: A call to SQL Server reconcilier failed. [,,,,,]
> SSCE_M_SQLRECONCILIERFAILED
> Followed by:
> Source: Merge replication provider
> Error number 80045063
> Error descripcion: Failed to enumerate changes in the filtered articles
> and then by this:
> Source: srtv
> Error number : 0
> Native number: 0
> Error descripcion: Call sp_MSsetupbelongs (?,?,?,?,?,0,?,?,1,?,?,?,?,?,?)
> Usually at this time the only possibility is to delete the sdf database
and
> to resincronize the remote terminal.
> I have already found an article in KB 328314 - FIX: Cannot Upload Null
> Values in Sql_variant Data Type by Using SQL Server CE Merge Replication
> but without possible solution and the strange thing is that I have no
> Sql_variant Data on my Db.
> Please help me because the project is at high risk of crash!!!
> Thanx in advance
> Best Regards
> Gianluca Padovani
|||Hi Hilary,
thanks for your help, I'm waiting for the response to your test request and
asap i'll give you the answer.
In the meanwhile I can tell you another thing. In My previous post I put the
PocjePC error but at the same time I have a corresponding one on SQLServer
Merge Agent.
The erorr is :
Last Command: {call sp_MSsetupbelongs(?,?,?,?,?,0,?,?,1,?,?,?,?,?,?)}
Failed to enumerate changes in the filtered articles.
(Source: Merge Replication Provider (Agent); Error number: -2147200925)
The merge process timed out while executing a query. Reconfigure the
QueryTimeout parameter and retry the operation.
(Source: srvtv (Data source); Error number: 0)
I made a quick search into the NG and I have found another couple of article
regarding this error.
I one of those article Paul Ibison suggest one FIX
(http://support.microsoft.com/?id=814916 ) to correct this error. May I use
it too?
Again thanks a lot for your help
Best Regards
Gianluca Padovani
|||Hi Hilary
I have got the confirm that if I reset the application and run it again the
error is cleared. This is a goal but is notthe solution because two session
of sincronization means an overhead of time not acceptable for our situation.
I hope in your answer about my previus message regarding the hotfix
Thanx again
Gianluca PAdovani
"Hilary Cotter" wrote:

> what happens if you restart your application that runs the merge pull?
> Normally this will clear this error.
> --
> Hilary Cotter
> Looking for a book on SQL Server replication?
> http://www.nwsu.com/0974973602.html
>
> "Gianluca Padovani" <Gianluca Padovani@.discussions.microsoft.com> wrote in
> message news:2F7758AC-A8C6-40B9-8EE1-3C2B0ACEBD1F@.microsoft.com...
> and
>
>

Big problem

I have two databases that replicate with merge replication. A couple of days, the replication process failed while trying to do a re-initialization (with upload changes to publisher option enabled) and it seemed that some of the records in the subscriber
were missing. So I did a restore of the subscriber and then I then kicked off another re-initialization (with upload changes to publisher option enabled) and it has completed succesfully. However, now it seems that some of the older data that was created
in the subscriber are no longer in the subscriber but they are in the publisher. In addition to this, some of the records that were created in the subscriber did not upload to the publisher.
Is there any way to manually flag records to force them to replicate (for inserts)?
You could try doing a dummy update on the relevant rows (or all rows if necessary). Something like
Update MyTable set fname = fname
should do it.
HTH,
Paul Ibison
|||Yes, I tried this, but the problem is that I need to know which column has changed for each row. Is there any way to get it to replicate the whole row?
|||In your first post you explain that there are some rows on the publisher which don't exist on the subscriber and vice-versa. For some reason the merge triggers didn't fire and MSmerge_contents doesn't contain the the row value, so it is not replicated. Up
dating these rows - any column - will force an entry to this system table, and this should then be replicated. However your second post explains you need to know which column has changed for each row, which is what confuses me . Why is this required - d
o you also have rows which which exist on both publisher and subscriber but are not synchronized and contain different data?
Regards,
Paul Ibison
|||to force a row to be replicated again use sp_mergedummyupdate.
When the update is done on the other end SQL Server constructs the parameters for the stored procedure so that only the changed column is updated. So, it is stored somewhere. Figuring out where is not for mere mortals such as I - it is for the likes of su
ch as Mr. Ibison
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
|||Paul,
Yes, sorry, I was not clear in my first description of the problem. There are some instances where there is already a recod there but it is an older version, and there are some instances where the records are not there at all. I was mixing the two problem
s up.
Thank you (and Hilary) for your answers. they have been very helpfull.

Sunday, March 11, 2012

bidirectionnal connection fro merge replication?

Hello, I only need to know if I need to have a bidirectionnal connection between the subscriber and the publisher for merge replication or if the connection ca be openned only from the publisher to the subscriber if i use the push subscription option.
Thanks in advanceIn a push merge replication scenario you still need to ensure that there is a communication going when new transactions are posted on the subscriber(-s)'s side.

Sunday, February 19, 2012

Best way to replicate Laptop users

Hi,
I have a central server witch fetches information from other local
servers. I setup merge replications so that all changes made at local
server would be replicated at central server in the night.
Now, I want all the information on central server (that is, the
combined information from all the local servers) to be dumped on the
laptop users so that they can work offline. Because of the amount of
the data I have to transfer, I can't no longer just delete all the
objects and copy over all tables any more (takes way too long.)
However, I can not setup another merge replication because the central
server is already setuped in the local to central merge replication.
The only way I could think of is to setup merge replication from local
servers to the laptop user and probably setup a job to setup the first
snapshot dump (takes around 45 minutes) in the middle of the night so
that it won't affect local server during business hour.
I am just wondering if there are better ways to do this?
Conditions:
1 - I prefer not to touch the local servers since they are vital to our
operation during regular hours (9am ~ 9pm, 7 days / week).
2 - I prefer to replication with the central server for it is a faster
server and it is not linked to any real-time operation machines (except
that it replicates with the other local servers in the middle of the
night)
3 - Snapshot replication or DTS is out of the question for the sales
table contains 2 million+ rows and growing
Any good suggestions?
Thank you in advance
Charlie Chang
[charlies224@.hotmail.com]
This might be a good case for using dynamic snapshots so the laptop users
get only the data they require. You will need a column on the tables you are
replicating to partition your data with.
I would use WSM (Windows Synchronization Manager) to manage the pull.
Depending on your data flow you might be able to publish from the local
servers.
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
<charlies224@.hotmail.com> wrote in message
news:1109629058.527708.180340@.l41g2000cwc.googlegr oups.com...
> Hi,
> I have a central server witch fetches information from other local
> servers. I setup merge replications so that all changes made at local
> server would be replicated at central server in the night.
> Now, I want all the information on central server (that is, the
> combined information from all the local servers) to be dumped on the
> laptop users so that they can work offline. Because of the amount of
> the data I have to transfer, I can't no longer just delete all the
> objects and copy over all tables any more (takes way too long.)
> However, I can not setup another merge replication because the central
> server is already setuped in the local to central merge replication.
> The only way I could think of is to setup merge replication from local
> servers to the laptop user and probably setup a job to setup the first
> snapshot dump (takes around 45 minutes) in the middle of the night so
> that it won't affect local server during business hour.
> I am just wondering if there are better ways to do this?
> Conditions:
> 1 - I prefer not to touch the local servers since they are vital to our
> operation during regular hours (9am ~ 9pm, 7 days / week).
> 2 - I prefer to replication with the central server for it is a faster
> server and it is not linked to any real-time operation machines (except
> that it replicates with the other local servers in the middle of the
> night)
> 3 - Snapshot replication or DTS is out of the question for the sales
> table contains 2 million+ rows and growing
>
> Any good suggestions?
> Thank you in advance
> Charlie Chang
> [charlies224@.hotmail.com]
>