Opgradering med problemer, og løsningerne hertil...

Jeg har netop været ude på endnu en mission hvor en kunde havde problemer med opgradering af MS CRM (fra 3.0 til 4.0). En anden konsulent havde forsøgt at gennemføre opgraderingen, men havde ikke haft heldet med sig.

Forhistorien

Systemet blev oprindelig installeret som version 1.2 og senere opgraderet til 3.0.
I perioden med version 3.0 havde der været anvendt en række plug-ins mv.:

  • Krak-værktøj (integration med Krak)
  • 360-løsning (til salgsstyring)
  • Selvkomponerede plug-ins
  • Egetoprettede felter, relationer og JavaScript

Opgaven

  1. Fjern unødvendig og overflødig egenudviklede kode (Plug-ins og JavaScript)
     
  2. Fjern 360-løsningen
     
  3. Fjern Krak-værktøjet, som var blevet implementeret tilbage i version 1.2-versionen
     
  4. Opgrader systemet til version 4.0

Jeg opdagede endvidere følgende problemer:

  1. Datafilen <organisation>_MSCRM havde en størrelse på ca. 3 GB, hvilket ikke er noget problem.
    Men den tilhørende logfil havde en størrelse på 51 GB.
     
  2. Der eksisterede ikke et full-index, hvilket påvirker ydelsen negativt. Full-index'et eksisterede ikke i version 1.2, og var ikke blevet oprettet i forbindelse med opgraderingen til version 3.0 (SQL Server 2005).
     
  3. I forbindelse med opgraderingen var en række sikkerhedsgrupper forkert placeret i AD'et.
     
  4. En række "mindre" problemer (services, rettigheder, reporting services mv.), som enten kan eller vil give problemer nu eller senere.

Problemet og løsningen

En del af opgaven var som sådan ikke problematisk, mens andre dele voldte problemer:

  1. Den store logfil (51 GB) var jeg ikke så tilfreds med. Jeg prøvede at shrink'e den - uden held!
    Jeg bemærkede dog, at når jeg havde lavet en fuld backup af databasen fyldte den kun ca. 3 GB, men da jeg genskabte den (restore) blev logfilen igen ca. 51 GB. Dette tyder på at der hænger en eller nogle ganske få transaktioner i logfilen.
    Jeg valgte at se bort fra de få ufuldendte transaktioner, og slette logfilen. Dette ved at detache databasen (<organisation>_MSCRM), slette logfilen, og attache databasen igen - derved oprettes der en ny logfil på nogle få MB. Læs mere...
     
  2. Jeg startede med at gøre følgende:
     
    1. Oprette et testmiljø.
    2. Lavede: backup/restore af databaserne <organisation>_METABASE og <organisation>_MSCRM.
    3. Installerede og kørte Guiden Microsoft CRM Geninstallation (Migration Wizard), for at migrere AD-brugerne mv. til testmiljøet.
    4. Installerede MS CRM 3.0 og tog hånd om en række mindre fejl i forbindelse med bl.a. services, rettigheder mv.
    5. Testede systemet. Umiddelbart var CRM Admin-kontoen blevet indstillet til begrænset adgang, hvilket jeg fjernede og derefter fungerede alt som det skulle. Underligt...det var første gang jeg havde oplevet dette.
    6. Indstillede databasen til Full Index og oprettede index-filen (ftcat_documentindex). Dette er vigtigt at gøre før opgradering til 4.0, da det kan være vanskeligt senere.
    7. Opgraderede løsningen med MS CRM 3.0 Rollup 3. Læs mere om etablering af Full Index...
    8. Forsøgt opgradering til MS CRM 4.0...men installationsprogrammet rapporterede at der var problemer med nogle sikkerhedsgrupper. Disse var:
      • PrivReportingGroup {GUID}
      • PrivUserGroup {GUID}
      • ReportingGroup {GUID}
      • SQLAccessGroup {GUID}

        Ovenstående grupper eksisterede godt nok i AD'et, men var placeret et forkert sted, nemlig i mappen Computers - uvist af hvilken årsag
        Jeg flyttede grupperne til AD-mappen Users, og opgraderingen kunne starte.
        Årsagen til at opgraderingen fejlede var at installationsprogrammet ikke kunne "se" grupperne med den placering dehavde, og kunne godt "se" dem efter flytningen.

        Læs mere om sikkerhedsgrupperne...
         
         
    9. Opgraderede atter næsten uden problemer. Enkelte rapporter blev ikke opgraderet, hvilket jeg ikke ser som det store problem, da jeg ved at dette vil blive løst ved opdatering af MS CRM 4.0 Rollups senere.
       
    10. Testede opgraderingen, som havde en del fejl, som jeg brugte en del tid på at fejlsøge på (se herunder).
       
       
  3. Det var ingen problem at fjerne overflødig kode (JavaScript) og plug-ins.
    Jeg eksporterede alle entities (i en og samme fil - customization.xml) og analyserede filen for JavaScript.
    På baggrund af analysen fjernede jeg, manuelt, den nødvendige JavaScript fra respektive entities.
     
  4. 360-løsningen valgte jeg, i første omgang, at undlade at gøre noget ved, da jeg tidligere har haft "fornøjelsen" af en lignende opgave, og derfra vidste, at 360-løsningen ikke volder problemer i en opgradering, men alene efterlader en række menuer. Efter opgraderingen eksporterede jeg Sitemap.xml og ISV.config, og fjernede al 360-elementer, hvorefter jeg importerede filerne igen, og problemet var løst.
     
  5. Krak-tingene voldte mig derimod en række problemer, nemlig:
     
    • Der eksisterede mappings mellem entitiene Kundeemne (Lead) og Firma (Account), men en række felter, som havde mappings, var blevet slettet i entitien Firma (Account). Det var derfor ikke muligt at fjerne mappings (kørselsfejl).
      En løsning på dette problem er normalt, at man opretter de manglende felter igen, men i dette tilfælde var felterne jo oprettet i version 1.2, og derfor uden præfix (altså uden f.eks. præfix'et new_). Det var derfor ikke muligt at oprette disse felter, da dette ikke lader sig gøre uden præfix i version 3.0 og 4.0 (jeg ved i hvert tilfælde ikke hvordan man gør det!).
      Jeg valgte i stedet den dramatiske - og særdeles udokumenterede løsning - at fjerne mapping'en fra tabellen AttributeMapBase (I databasen <organisation>_MSCRM). Dette løste problemet. Læs mere detaljeret om løsningen.
       
    • Kunden havde ligeledes fortalt mig, at Avanceret søgning (Advanced Find) ikke fungerede, da man ikke kunne indsætte eller fjerne felter/kolonner. Problemet havde samme oprindelse som ovenstående, og derfor løst sammen med ovenstående.
       
  6. Jeg installerede MS CRM 4.0 Rollup 5, testede...alt OK!
     
  7. Jeg tog hånd om de resterende fejl i Event Viewer'en, hvorefter systemet var fuldt operationsdygtigt ;-)

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 16 års, deraf 12 år med CRM-systemer, og samtidig indehaver af mere end 30 Microsoft-certificeringer.

Jeg er ansat som Microsoft Dynamics CRM-arkitekt hos Logica.

Læs mere...

Downloads, værktøjer og installation

Downloade komponenter til MS CRM:
    • Microsoft Dynamics CRM 4.0
    • Microsoft Dynamics CRM 2011

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

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

Krav vedrørende installation:
    • Installation: Krav og opsætninger

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.