Tip #1010: Use synchronization filters

I have a customer who is running Dyn 2016 8.0 On-prem and Server Side Sync. One of the accounts has 12000+ appointments and when/if we do a “Test and Approve” of the mailbox it seems that the resync of the mailbox with the Exchange Server (ver 2010) takes a very long time, often over 12 hours.

(That was Gustaf “Surströmming” Westerlund asking for help, if you must know)

Joel to the rescue

Update said user’s sync filter for appointments to start date on or after 1-Sep-2017 or something like that. NO reason to sync old/completed appointments.

Tîpp Jäår

Be smart, be like Joel, and start using synchronization filters to exclude old or irrelevant data. That can definitely speed up both initial and ongoing synchronizations.

Another common scenario is when a user account is used to perform initial data import or integration, and that user ends up owning bazillions of contacts. Default synchronization filter is My Contacts which will attempt to drag all those records across into the user’s address book. Smart move would be to adjust the filter and exclude contacts from the initial synchronisation altogether and then, over the time, start bringing the relevant records in (once you figured out what does “relevant” mean to that poor user). You can use last contact date, for example.

7 thoughts on “Tip #1010: Use synchronization filters

  1. Yes. Helped a bit. Also note that we upgraded to 8.1.1 to get a fix that was in that 0.1 update for large ACT registries.

    And also be aware of meddling too much with the sync filters. Putting date limits seems fine but extending it to like “My contacts OR the contacts marked with this bool field” – has been known to cause duplicates in Exchange. Perhaps that bug has been fixed, but test a lot first before going down that path.

  2. MrE says:

    Hi there

    We have serious issues here with the Server Side Sync (approx. 100 users, give or take a few). On Prem. A few insights from us:

    – Systemfilters sometimes do not work really work (e.g. filter set on appointments which only happen in the future since we don’t need to sync all the appointments from the last few decades). Hence we had to set each one of the personal filter with a rule of ‘only appointments in the future’.

    – If you disable a user, the mailbox will automatically be set on inactive as well. BUT we had the impression that the mailbox will still be polled since it’s still related to a server profile (and the polling mechanism appears not to poll exclusicely the active ones). To be better safe than sorry, we always remove the Server Profile, and set the other options (Incoming Email, Outgoing Email and Appointments…, to None, save, reject the email and deactivate the mailbox).

    – The Server-Side Synchronization Performance dashboard reveals to be completely useless for it is not accurate. Times we have proof that the async service is not working but the dashboard does not show any dysfonction. Then, the dashboard displays a disruption but we have confirmed proof that the issue has already been saved. So we stand always on a orange light and don’t know if the next would be a red or a green one.

    – If there’s a workflow / system job running on e.g. an appointment record, it may be a reason as to why that record will not be synched (remember: Workflow, ‘Error: Needs attention’ state is with system job status: Waiting!

    – CRM and Exchange servers moved on the very same machine to exclude any accidential network issue.

    – We still have a certificate error: The remote certificate is invalid according to the validation procedure. According to our Exchange and Certificate specialists this should technically (theoretically) speakting not an issue. To save money we have a self-singned certificate implemented. In a unix world this would not be a problem, but who knows about the the depth of Microsoft.

    – The async service appears sometimes to be running with a queue of async jobs but when you restart that service, all of a sudden, the async jobs will be worked off immediately … restarting the async service is, however, not always the solution.

    – Heavy customizations made on the appointment record, including workflows running on it.

    – Several tickets opened at Microsoft but no overwhelming progress.

    • Holy cucumber! This deserves a separate tip, the world must know of your pain. If you don’t mind, I’ll republish verbatim.


      • MrE says:

        Hi George

        I don’t mind republishing it but I don’t have any solution yet.

        If I (will?) have one I would post it in the future.
        The point about the running workflows preventing an appointment to be synched and the insight that one better removes the server side sync settings on the inactive mailbox of users which have already left the company may be useful for others too.

        Cheers and have a great weekend.


    • Joel Lindstrom says:

      I’ve seen many of the same things you talk about. I don’t use system filters. I don’t think they were ever designed to be used by customers as Microsoft never built a way to set system filters. Always use user filters.
      I’ve also seen the issue with disabled mailboxes still polling. We had a tip related to this. I found if somebody has a lot of problems with server side sync, one way to make it better is to turn off sync for all users, including the disabled mailboxes, then just turn it on for the people who need it. That also means that if you have active users who will never need to have sync, disable it for them.
      The issues with the async service are a bigger issue for on prem than with online. I haven’t seen this issue in our online environment, but with CRM on premises, if you enable more than five mailboxes at a time the async process hangs up and it doesn’t finish. I think I did that one as a tip as well.

      Biggest issue I see right now is every 3-6 months a mailbox will have some generic issue and stop synchronizing. It still says success, but the mailbox log will say sync postponed. I think it may be a best practice to test and enable all mailboxes every 3-4 months.

    • Joel Lindstrom says:

      Exchange synchronization has never liked self signed certs. The email router would t not work with a self signed cert. everything else does, just not exchange sync. Someone at Microsoft explained to me that the do that to prevent people from spinning up CRM to spam people.

    • Joel Lindstrom says:

      The reason the dashboard is useless is because of the 5,000record aggregate fetch limit. It works ok if you have 2 users, but if you have 100 mailboxes, you are generating way more than 5000 log records and the records it uses are not accessible from other reporting methods. Search ideas.dynamics.com and you will find suggestions to vote for to improve this dashboard

Leave a Reply

Your email address will not be published. Required fields are marked *