Synkronisering med Outlook...hvordan virker det?

En af de ting, som oftest volder problemer i virksomheder, er synkroniseringen mellem MS CRM og Outlook...og det kan der være mange grunde til. I dette indlæg vil jeg komme ind på hvordan mange opsætter en Outlook-klient, hvad der sker - rent teknisk samt konsekvensen hermed.

Indledning

Hvis man skifter computer eller installerer MS CRM til Outlook på en anden computer vil man, højest tænkeligt, blive mødt med følgende besked:

Lad os lige kigge nærmere på hvad beskeden handler om:

  • Du har allerede installeret Microsoft Dynamics CRM til Outlook på en anden computer.
    Der er allerede opsat synkronisering på en anden computer. Teknisk set vil der blive oprettet tabeller - på MS CRM Serveren - som indeholder informationer om hvad og hvornår elementer er synkroniseret. Vi kigger på disse tabeller senere in dette indlæg.
     
  • Der kan kun være én klientcomputer pr. bruger, der kan køre den automatiske proces, som masseopdaterer Outlook-elementer med Microsoft Dynamics CRM-data.
    MS CRM kun kan håndtere synkronisering med én computer ad gangen.
    Konsekvensen ved at gøre en anden computer til den primære synkroniseringsklient er, at der vil blive oprettet nye tabeller - på MS CRM Serveren - som har styr på hvad og hvornår elementer er synkroniseret. Det betyder således også, at tabeller, som var anvendt på den tidligere synkroniseringsklient sættes ud af kraft, og derved fylder unødigt på MS CRM Serveren.
     
  • Klienten bør være den computer, der oftest bruges i onlinetilstand, f.eks. en stationær computer.
    Denne sætning indikerer, at det ikke er særlig smart at gøre en anden computer til den primære synkroniseringsklient. Jamen det er jo ganske klart, da det jo vil betyde, at der bliver oprettet nye tabeller til synkronisering, og andre bliver overflødige, altså fylder unødigt på MS CRM Serveren.
     
  • Hvis du vil vælge en anden synkroniseringsklient, skal du klikke på Indstillinger i menuen CRM og derefter klikke på fanen Synkronisering.
    Denne sætning fortæller altså, at man kan skifte hvilken computer der er den primære synkroniseringsklient...med ovennævnte konsekvenser
     

 

Synkroniseringen...teknisk set

På SQL Serveren, i databasen <Organisation>_MSCRM er der en række tabeller til at håndtere synkroniseringen, disse er:

Tabellen SubscriptionClients

En overordnet tabel som indeholder informationer om de klienter, der er opsat til synkronisering. Bemærk kolonnen IsPrimaryClient, som identificerer om en klient er primær (True) synkroniseringsklient.

 

Tabellen Subscription

Tabellen indeholder bl.a. indeholder informationer om Brugeren (SystemUserId), Computer (MachineName), hvornår sidste synkronisering er gennemført (LastSyncStartedOn) samt navnet på synkroniseringstabel (SyncEntryTableName).

BEMÆRK! Brugeren med SystemUserID de723807-4... optræder flere gange, såvel på computere af samme navn som forskellige computere. Denne bruger har altså opsat synkronisering til forskellige computere og på samme computer, men højest tænkelig efter nyinstallation af Outlook-klienten. Der er altså her tale om unødvendige tabeller - og dermed data i databasen.

 

Tabellen SyncEntry_<GUID>

Tabellen SyncEntry_<GUID> er ofte meget stor. Tabellen indeholder alle de elementer (ObjectId), deres type (ObjectTypeCode) og synkroniseringsstatus (SyncState), der er synkroniseret mellem MS CRM og Outlook. SyncState kan antage følgende værdier:

0: Synkroniser elementet til Outlook
1: Elementet findes måske allerede i Outlook. Hvis ikke skal det synkroniseres
2: Hvis elementet findes i Outlook, skal det slettes

Hvis en Outlook-klient er indstillet til Online vil man have 2 SyncEntry-tabeller.
Hvis en Outlook-klient er indstillet til Offline vil man have 3 SyncEntry-tabeller.

 

Tabellen SubscriptionStatistics_<GUID>

Tabellen indeholder en overordnet betragtning, om hvilke objekter (ObjectTypeCode), der skal synkroniseres.

Hvis en Outlook-klient er indstillet til Online vil man have 2 SubscriptionStatistics-tabeller.
Hvis en Outlook-klient er indstillet til Offline vil man have 3 SubscriptionStatistics-tabeller.

 

Læs mere

Jeg har tidligere lavet indlæg om synkronisering, og der er også dokumentation på dette, så hermed links:

Bliv medlem af CRMUG DK

De regionale afdelinger i CRMUG giver mulighed for a mødes med andre medlemmer af CRMUG i dit lokalområde. Hermed får du mulighed for at mødes ansigt til ansigt og vidensdele med andre brugere af Microsoft Dynamics CRM i dit område.

Læs mere den Danske afdeling af CRMUG...

Om Henrik Jensen

Jeg har altid fingeren på pulsen når det drejer sig om Microsofts produkter & teknologier, og især når det handler om Microsoft Dynamics CRM.

Henrik Jensen

Jeg har arbejdet professionelt i IT-branchen mere end 25 års, deraf mere end 18 år med CRM-systemer, og samtidig indehaver af mere end 50 Microsoft-certificeringer.

Mobil: +45 20 300 300
E-mail: hj@easyconsult.dk

EASYConsult ApS

Læs mere...

Downloads, værktøjer, installation og JScript

Downloade komponenter til MS CRM:
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016

Liste over Opdateringspakker (Rollups):
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011
    • Microsoft Dynamics CRM 2013
    • Microsoft Dynamics CRM 2015
    • Microsoft Dynamics CRM 2016

Værktøjer til MS CRM:
    • Liste med værktøjer til MS CRM

Krav og opsætninger til installation:
    • Krav og opsætninger MS CRM 2011
    • Krav og opsætninger MS CRM 2013
    • Krav og opsætninger MS CRM 2015
    • Krav og opsætninger MS CRM 2016

JScript eksempelkode:
    • Javascript API-reference
    • Javascript eksempelkode

Diverse værktøjer:
    • Sysinternals
    • PowerShell og MS CRM 2011

Visual Studio, SSIS og Kingswaysoft
    • Visual Studio 2017
    • Dataværktøjer (SSIS) 2017
    • Kingswaysoft

Månedsliste

Forbehold

Alt hvad du læser på denne blog er alene udtryk for mine egne holdninger og meninger, og kan ikke henføres til andet end som så.

De løsninger jeg fremstiller på denne blog er ikke nødvendigvis testet i et driftsmiljø. Hvis du gør brug af mine løsninger er det på eget ansvar.