Microsoft tester MS CRM 2016 SP1 på Azure

af Henrik Jensen 10. september 2016 08:59

Microsoft har gennemføret en række test med MS CRM 2016 Serviceopdatering 1Azure-platformen.

Testen har vist gode resultater, hvilket jeg ikke er overrasket over idet jeg for lidt over 1½ år siden var med i et forsøg med at køre MS CRM 2013 på Azure sammen med en større virksomhed. Her var resultaterne overvældende gode. SQL DB på Azure har en virkelig god ydelse.

Læs mere om testen (Engelsk): Performance for CRM 2016 Service Pack 1 and CRM Online 2016 Update 1...

Blinkende markør i Outlook 2013 med MS CRM 2015

af Henrik Jensen 23. november 2015 08:22

I forbindelse med opsætning af MS CRM 2015 til Outlook 2013 i et testmiljø hvor der indgik en Barracuda Proxy oplevede vi at Outlook 2013 blinkede, som om at Outlook forsøgte at indlæse data, men ikke rigtig kom videre.

Det viste sig at en manglende konfigurationsfil til MS CRM til Outlook var den grundlæggende årsag til problemet.

Problemet kan løses ved at oprette en tom fil med navnet Microsoft.CRM.Application.Outlook.WebFormsHost.exe.config og placere filen, på Outlook-klienten, i mappen C:\Program Files\Microsoft Dynamics CRM\Client\res\web\bin

Inspiration til løsning af problemet blev fundet her (Engelsk): Flashing Cursor in Outlook 2013 with CRM 2015 for Outlook installed...

Problemer med E-mail Router i MS CRM 2013, som er flyttet fra Online til Onpremise

af Henrik Jensen 13. september 2015 08:27

Jesper Funk og Thomas Rath fra Norriq har tippet mig om et problem, som kan opstå med E-mail Router softwaren i MS CRM 2013, som er flyttet fra Online til Onpremise. Problemet har omfattet flere kunder.

Problemet

En række brugere, som er indstillet til at benytte Email Router for Outgoing Emails blev e-mails ikke behandlet. I Email Router Configuration Manager ved klik på knappen Load Data blev e-mails ikke overført til E-mail Routeren, og dermed er de ikke behandlet.

 

Analysen

Følgende SQL Trace blev benyttet til analyse af problemet:

exec sp_executesql N'select 
top 5001 "systemuser0".SystemUserId as "systemuserid"
, "systemuser0".FullName as "fullname"
, "systemuser0".InternalEMailAddress as "internalemailaddress"
, "systemuser0".OutgoingEmailDeliveryMethod as "outgoingemaildeliverymethod"
, "systemuser0".IncomingEmailDeliveryMethod as "incomingemaildeliverymethod" 
from
SystemUserBase as "systemuser0" 
where
(((((("systemuser0".InternalEMailAddress is not null and "systemuser0".IsDisabled = @IsDisabled0)) 
 and (((("systemuser0".OutgoingEmailDeliveryMethod = @OutgoingEmailDeliveryMethod0))
  or (("systemuser0".IncomingEmailDeliveryMethod = @IncomingEmailDeliveryMethod0
   or "systemuser0".IncomingEmailDeliveryMethod = @IncomingEmailDeliveryMethod1))))
    and (("systemuser0".InviteStatusCode = @InviteStatusCode0)))))) 
            order by
"systemuser0".SystemUserId asc',
N'@IsDisabled0 bit, @OutgoingEmailDeliveryMethod0 int, @IncomingEmailDeliveryMethod0 int, @IncomingEmailDeliveryMethod1 int, @InviteStatusCode0 int', @IsDisabled0=0, @OutgoingEmailDeliveryMethod0=2, @IncomingEmailDeliveryMethod0=2, @IncomingEmailDeliveryMethod1=3, @InviteStatusCode0=4

 

Bemærk følgende: (("systemuser0".InviteStatusCode = @InviteStatusCode0))))))

Nye brugere har som standard værdien 4 (InviteStatusCode), men analysen viser at brugere har en anden værdi end 4.

Løsningen

Løsningen var at eksekvere følgende script på den aktuelle organisation:

UPDATE SystemUserBase
SET InviteStatusCode = 4
WHERE InviteStatusCode <> 4

Forbedring af ydelsen på forespørgsler med SQL Server 2014

af Henrik Jensen 8. juni 2015 08:42

Jeg læste for nyligt et indlæg (Improve CRM query performance using compatibility version 120 with SQL 2014...) som har fokus på forbedring af ydelsen på forespørgsler med SQL Server 2014. Indlægget kommer omkring fordelene ved at indstille Compatibility Level på SQL Serveren til det korrekte niveau. I forhold til SQL Server 2014 er det SQL Server 2014 (120):

Jeg har lavet en række test (forespørgsler på indekserede og ikke indekserede felter) af ydelsen på de forskellige Compatibility Level med følgende resultat:

  • SQL Server 2008 (100): Udgangspunktet for analysen
  • SQL Server 2012 (110): En ydelsesfremgang på 2-4%
  • SQL Server 2014 (120): En ydelsesfremgang på optil 25%

Vær opmærksom på at hvis man skifter indstillingerne i et kørende miljø så kan det påvirke resultatet af forespørgsler til det uheldige...altså at man får forkerte resultater af forespørgsler. For at undgå dette kan man:

  • Genstarte SQL Serveren

    eller

  • Indstil databasen til Single-user access mode ved at benytte ALTER DATABASE SET SINGLE_USER.
  • Ændre Compatibility level.
  • Indstil databasen til Multi-user access mode ved at benytte ALTER DATABASE SET MULTI_USER.

Opdatering af Dynamics Connector

af Henrik Jensen 20. januar 2015 09:07

Microsoft har frigivet en hotfix til Dynamics AX 2012 R3 som løser et problem vedrørende synkronisering af Firma (Customer) og Kontaktperson (Contact). Læs mere om hotfix'en her: Hotfix released for Microsoft Dynamics AX 2012 R3...

Man kan ændre en række af konfigurationsindstillingerne for connectoren vedrørende logging og eksekvering i filen ConnectorServiceHost.exe.config. Læs mere om mulighederne her: Connector for Microsoft Dynamics configuration settings...

MS CRM 2015 - Teknisk dokumentation

af Henrik Jensen 19. januar 2015 14:30

Fejl ved opgradering til MS CRM 2015

af Henrik Jensen 5. december 2014 10:48

I forbindelse med opgraderingen til MS CRM 2015 er jeg stødt på en fejl i et scenario hvor der er Engelsk installation med Danske sprogpakker. Det er ingen problem at opgradere de organisationer med Engelsk basissprog, men med andre sprog, såsom Dansk, opstår der problemer. Man får følgende fejlmeddelelse under opgraderingen af organisationerne:

System.Exception: Error.ActionFailed Microsoft.Crm.Tools.Admin.UpgradeDatabaseAction ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not find file 'C:\Program Files\Microsoft Dynamics CRM\LangPacks\<LCID>\sql\7\StoredProcedures\MSCRM\fn_RollupByAccount.sql

Problemet er et der mangler følgende 3 filer i mapperne for de enkelte sprog:

  • fn_RollupByAccount.sql
  • fn_RollupByContact.sql
  • fn_RollupByOpportunity.sql

Filerne findes faktisk i den pågældende mappe, men de hedder:

  • p_RollupByAccount.sql
  • p_RollupByContact.sql
  • p_RollupByOpportunity.sql

Det eneste er an man skal omdøbe (eller kopiere disse) og navngive dem med fn i begyndelsen af filnavnet. Derefter kan det være nødvendigt at køre en iisreset eller genstarte CRM-serveren.

OBS! Vær opmærksom på at dette er en usupporteret løsning, som Microsoft forhåbentlig snart finder en løsning på.

Optimere indlæsning af formularer i MS CRM

af Henrik Jensen 20. november 2014 08:19

Jeg faldt over følgende artikel, som beskriver hvordan man kan optimere indlæsningen af formularer i en lokalt installeret (onpremise) MS CRM. Det er egentlig ikke en nyhed som sådan, for man har kunnet benytte indstillingen et par IIS-versioner tilbage.

Det handler om indstillingen omitVaryStar, som kan indstilles til True, og dermed sikre at webressourcer bliver indlæst korrekt. På MS CRM-webstedet finder man indstillingen i IIS Manager, Configuration Manager ved at vælge system.web\caching\outputCache.

For at bevise om man får en ydelsesforbedring kan man, i MS CRM 2013, benytte Det skjulte ydelsesværktøj til at bevise forbedringen. Nedenstående analyse viser en forbedring på knap 1 sekund, ved indlæsning af Firma-formularen. Jo flere scripts man benytter jo bedre ydelse opnår man typisk.

Værktøj: CRM Data Detective

af Henrik Jensen 22. august 2014 11:44

I MS CRM benytter man ofte mange af de originale felter og man opretter ofte felter og lister efter kundernes ønsker og krav...men hvordan bliver felterne brugt? Indsætter brugerne data i felterne eller ej. Hvis ikke bør man overveje at adressere dette, for enten at få data i felterne eller helt fjerne feltet.

Jeg kan anbefale værktøjet CRM Data Detective, som kan hjælpe med til at belyse hvor meget man benytter felter i MS CRM.

Efter import af Løsningen (Solution) til værktøjet, åbnes denne og værktøjet initialiserer alle entiteter i MS CRM. Man kan derefter klikke på den entitet man ønsker at analysere, hvorefter felterne vises i skærmens højre del. I nederste højre del af skærmen kan man se hvor mange poster der findes indenfor den valgte entitet.

Og man kan så analysere hvor stor en procentdel af posterne, som indeholder data.

Link til værktøjet (Engelsk): CRM Data Detective...

Det skjulte ydelsesværktøj til MS CRM 2013

af Henrik Jensen 1. august 2014 12:40

MS CRM 2013 har et skjult værktøj til analyse af ydelsen ved load af data i MS CRM 2013. Formålet med værktøjet er at man kan analysere hvad der indlæses og hvor lang tid det tager at indlæse. Værktøjet kan kun benyttes i Internet Explorer (så vidt jeg kan teste)...og helst version 11, men både på Online og Onpremise.

Værktøjet har været tilgængeligt siden starten af MS CRM 2013. Hvis man har implementeret ServicePack 1 til MS CRM 2013, har værktøjet fået en bedre brugerflade, som er lettere at læse og giver et bedre overblik.

Hvis man f.eks. vil analysere Firmaformularen, så gør man følgende:

  1. Naviger til en visning med Firmaer.
  2. Tast CTRL+SKIFT+Q.
    Værktøjet vises øverst i browseren.
     
  3. Klik på knappen Enable, og derefter klikkes på knappen Close.

     
  4. Åbn et Firma og vent til hele formularen er indlæst.
  5. Tast atter CTRL+SKIFT+Q.
    Værktøjet vises øverst i browseren.
     
  6. Klik på knappen Disable.

     
  7. Man kan nu klikke på elementerne i tidslinjen for at se hvad der er udført og hvilken tid det har taget.

     
  8. Klik evt. på knappen Select Major for at få et overblik over de primære ting som er indlæst.


Outlook-klienter kan ikke forbindes til MS CRM 2013

af Henrik Jensen 29. juli 2014 15:56

En af mine kunder rapporterede om et problem med at konfigurere Outlook-klienter til MS CRM 2013...en organisation som netop er blevet opgraderet fra MS CRM 2011.

En analyse af logfilen fortalte en del, men ikke hele historien.

14:08:35|Verbose| Method entry: Microsoft.Crm.Application.Outlook.Config.OutlookConfigurator.InitializeMapiStoreForFirstTime
14:09:23|  Error| Exception : An error has occurred. Try this action again. If the problem continues, check the Microsoft Dynamics CRM Community for solutions or contact your organization's Microsoft Dynamics CRM Administrator. Finally, you can contact Microsoft Support.
      at Microsoft.Crm.MapiStore.DataStore.WaitInitialized()
      at Microsoft.Crm.Application.Outlook.Config.OutlookConfigurator.InitializeMapiStoreForFirstTime()
      at Microsoft.Crm.Application.Outlook.Config.OutlookConfigurator.Configure(IProgressEventHandler progressEventHandler)
      at Microsoft.Crm.Application.Outlook.Config.ConfigEngine.Configure(Object stateInfo)
14:09:23|  Error| Exception : Server was unable to process request. 

Den 2. maj 2013 var jeg involveret i en lignende supportsag, og faktisk blev problemet "ordnet" i forhold til MS CRM 2011 mens problemet nu opstod i MS CRM 2013. I den nyligt frigivne Opdateringspakke 3 (Rollup 3) til MS CRM 2013 er problemet "atter" fix'et.

Læs mere om problemstillingen, og løsningen på problemet: Outlook-klienter kan ikke forbindes til MS CRM 2013...

Værktøj til MS CRM: Useful Ribbon Buttons

af Henrik Jensen 10. juli 2014 09:52

For et stykke tid siden "opdagede" jeg at den gode mand Scott Durow fra Develop 1 har udviklet nogle små, men smarte funktioner, som udviklere og dem om tilpasser MS CRM kan bruge i dagligdagen.

Det handler om et værktøj, som er udviklet til MS CRM 2011, men som også fungerer til MS CRM 2013. Værktøjet har følgende formål:

  1. Hente og kopiere GUID'en på den aktuelle post til Udklipsholderen.
  2. Vise GUIDS på markerede poster i en underformular eller visning. 
  3. Genindlæs den aktuelle formular. Det samme som at trykke på F5. 
  4. Genindlæs Båndet (Ribbon), som kan være aktuel hvis man, som udvikler, har tilknyttet kode til knapper i Båndet (Ribbon).

    

Hvis man importerer løsningen ind i en Dansk MS CRM er etiketterne forkerte, men kan rettes ved brug af SiteMap-værktøjet i XRMToolBox.

 

Læs mere og download løsningen (Engelsk): Small is beautiful – Useful Ribbon Buttons...

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:
    • JScript eksempelkode

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

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.