Home > Archive > MS SQLCE > October 2005 > SQL Ce Merge Replication question









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author SQL Ce Merge Replication question
Steve B.

2005-10-27, 7:53 am

Hi,

I use SQL Ce Merge replication with horizontal filters (based on
SUSER_SNAME()) to transfer data from and to the device.

It works fine, but each time a synchronisation occurs, a new merge agent
appears in the replication monitor.

Does it means that each synchronisation create a new subscribtion (since it
is anonymous) ?

Is it a problem for a large number of devices ? We plan to use the
replication up to 3000 users ...

Thanks in advance for any clarification.

Steve


Darren Shaffer

2005-10-27, 7:53 am

Steve,

No, you do not get a new subscription for each replication from
anonymous subscribers *IF* the publisher recognizes the calling
device/database as an existing subscriber.

The SQL CE/Mobile client tools report to the SQL CE/Mobile server
tools a unique identifier for each device composed of the PPC Name,
a unique ID, and the on-device path to the SQL CE/SQLMobile DB
which is used at the publisher as the subscription name. If you
happen to be using the AddOption.CreateDatabase flag in your replication
object, you will get multiple entries in replication monitor if you recreate
the local database each time your replicate. For example, I was testing
an app last night which has AddOption.CreateDatabase set. First time I ran
the app, I see a subscription called
[DARREN_PPC - UniqueID].[program files\myapp\myapp.sdf]

If I delete the local db and replicate again, a second subscription is
created
called [DARREN_PPC - NewUniqueID].[program files\myapp\myapp.sdf]

If I do not delete the local db (or subscription within it), the first
subscription
above is recognized as a returning subscriber and not a new one.

If you are going to use merge replication to 3000 customers, there is a lot
to know
about not only getting good performance from merge but keeping it healthy
over time.

I suggest the on demand SQL CE Performance Tuning webcasts that are
available
on MSDN from myself or Kevin Collins.

--
Darren Shaffer
..NET Compact Framework MVP
Principal Architect
Connected Innovation
www.connectedinnovation.com


"Steve B." <steve_beauge@com.msn.swap_com_and_msn> wrote in message
news:OOlO3%23T2FHA.1148@tk2msftngp13.phx.gbl...
> Hi,
>
> I use SQL Ce Merge replication with horizontal filters (based on
> SUSER_SNAME()) to transfer data from and to the device.
>
> It works fine, but each time a synchronisation occurs, a new merge agent
> appears in the replication monitor.
>
> Does it means that each synchronisation create a new subscribtion (since
> it is anonymous) ?
>
> Is it a problem for a large number of devices ? We plan to use the
> replication up to 3000 users ...
>
> Thanks in advance for any clarification.
>
> Steve
>



Steve B.

2005-10-27, 7:53 am

Thanks for the clarification.

Successfull synchronization actually used the same subscription.
The other I have are mostly errors (initial snapshot not configured for
example).
I suppose some kind of errors does not allow the subscriber to store the
subscribtion since it failed.
In theses cases, sql server does not delete the subscription and the
subscription stay as ghost.

Thanks,
Steve

"Darren Shaffer" < darrenshaffer@discus
sions.microsoft.com> a écrit dans le
message de news: OUtEW4d2FHA.3600@TK2MSFTNGP12.phx.gbl...
> Steve,
>
> No, you do not get a new subscription for each replication from
> anonymous subscribers *IF* the publisher recognizes the calling
> device/database as an existing subscriber.
>
> The SQL CE/Mobile client tools report to the SQL CE/Mobile server
> tools a unique identifier for each device composed of the PPC Name,
> a unique ID, and the on-device path to the SQL CE/SQLMobile DB
> which is used at the publisher as the subscription name. If you
> happen to be using the AddOption.CreateDatabase flag in your replication
> object, you will get multiple entries in replication monitor if you
> recreate
> the local database each time your replicate. For example, I was testing
> an app last night which has AddOption.CreateDatabase set. First time I
> ran
> the app, I see a subscription called
> [DARREN_PPC - UniqueID].[program files\myapp\myapp.sdf]
>
> If I delete the local db and replicate again, a second subscription is
> created
> called [DARREN_PPC - NewUniqueID].[program files\myapp\myapp.sdf]
>
> If I do not delete the local db (or subscription within it), the first
> subscription
> above is recognized as a returning subscriber and not a new one.
>
> If you are going to use merge replication to 3000 customers, there is a
> lot to know
> about not only getting good performance from merge but keeping it healthy
> over time.
>
> I suggest the on demand SQL CE Performance Tuning webcasts that are
> available
> on MSDN from myself or Kevin Collins.
>
> --
> Darren Shaffer
> .NET Compact Framework MVP
> Principal Architect
> Connected Innovation
> www.connectedinnovation.com
>
>
> "Steve B." <steve_beauge@com.msn.swap_com_and_msn> wrote in message
> news:OOlO3%23T2FHA.1148@tk2msftngp13.phx.gbl...
>
>



Sponsored Links





Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive | Programming forum archive

Copyright 2009 droptable.com