Subscription expiration time is NOT respected by SQL CE 2.0 subscribers

Discussion in 'microsoft.public.sqlserver.ce' started by Dev, Jul 27, 2009.

  1. Dev

    Dev Guest


    We have an installation of about 100 Windows Mobile 5.0 Pocket PCs all
    equipped with SQL CE 2.0 database and a Microsoft .NET Compact
    Framework 1.0 SP3 application written in C#.

    The application frequently initiates Merge Replication to a backend
    SQL 2000 SP4 Standard Edition database server.

    Our issue is that although the Subscription Expiration of our
    Publication has been set to 14 days (the default), our subscribers (WM
    5.0 Pocket PCs with SQL CE 2.0 installed) can perform merge
    replication even after 14 days have passed since their last merge
    replication process, without receiving an error that their
    subscription is invalid and that must be dropped. As a result, our
    subscribers do NOT get recent changes from the Publisher.

    Do you have an idea of what we should be investigating in order to
    solve this very peculiar problem ?

    Thanking you all in advance for any thoughts / experience you are
    willing to share.

    Dev, Jul 27, 2009
    1. Advertisements

  2. It is not a problem, it's documented in the books online... see the topic
    "How Merge Replication Manages Subscription Expiration and Metadata Cleanup


    Alberto Silva - R&D Manager - Blog
    Microsoft MVP - Device Application Development
    Alberto Silva, MVP, Jul 28, 2009
    1. Advertisements

  3. Dev

    Dev Guest

    How Merge Replication Manages Subscription Expiration and Metadata

    Hi Alberto,

    The only relevant paragraph I could find was the following:

    If, after a clean up, the publication retention period is increased
    and a subscription tries to merge with the Publisher (which has
    already deleted the metadata), the subscription will not expire
    because of the increased retention value. However, the Publisher does
    not have enough metadata to download changes to the Subscriber, which
    leads to non-convergence.

    I read the above, but I still do not know how to attack the above
    issue of non-convergence. Do you have a concrete suggestion/example on
    how to know when a subscription has expired, since I do not get any
    errors / exceptions when my subscriber tries to merge replciate with
    the publisher, even after a month or more has passed since their last
    data sync (remember my subscription expiration is set to 14 days).

    If I understood correctly, once I know that my subscriber db is out of
    sync, I could force my subscriber to request a new (fresh) copy of the
    whole publisher db, correct?

    Can you please share an example of what I need to check on the
    subscriber and/or publisher in order to know when to reinitialise my

    I use SQL CE 2.0 on the subscribers.

    Thank you for your time.
    Dev, Jul 29, 2009
  4. Hi,
    I have to admit that I no longer make direct customer support, but I still
    remember that after people vacations, like 3-4 weeks, we used to get a lot
    of calls of users complaining that they could no longer sync because they
    got a message that the subscription expired. At those days we were still
    with SQL CE 2.0 and using the default retention period of 14 days, so I'm
    afraid I can't be of any more specific help.


    Alberto Silva - R&D Manager - Blog
    Microsoft MVP - Device Application Development

    __________ Information from ESET NOD32 Antivirus, version of virus signature database 4290 (20090730) __________

    The message was checked by ESET NOD32 Antivirus.
    Alberto Silva, MVP, Jul 30, 2009
  5. Dev

    Dev Guest

    Thank you for your time and help.
    Dev, Jul 30, 2009
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.