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: Akkumulerede felter i MS CRM 2015

af Henrik Jensen 21. januar 2015 11:33

Jeg har fået en del henvendelser angående mit indlæg om Akkumulerede felter i MS CRM 2015..., herunder fra Jacob Mondrup fra Vivant.

En del af henvendelserne går på hvordan man administrerer de forskellige jobs, og derigennem kontrollerer hvor ofte beregninger skal foretages, så derfor dette opdaterede indlæg.

Af hensyn til ydelsen i MS CRM 2015 er der en række begrænsninger, som jeg nævner i indlægget Akkumulerede felter i MS CRM 2015.... Microsoft har også valgt at Akkumulerede felter bliver opdateret automatisk hver 12. time. Tidspunktet udgår fra det tidspunkt man opretter feltet.

Man finder de forskellige jobs under Indstillinger, Systemjob, hvor man kan indstille visningen til at vise Gentagne systemjobs i listen Visning.

Man kan administrere jobbet på følgende vis:

  1. Marker jobbet (som vist herover).
  2. Vælg Udskyd under Flere handlinger.
     

     
  3. I dialogboksen kan man angive dato og klokkeslæt for næste kørsel.


    Resultatet er således, at næste kørsel er kl. 06:00 og dermed også kl. 18:00 (hver 12. time)

 

Med en plug-in kan man oprette, redigere og administrere Akkumulerede felter og dermed påvirke hvor ofte eksekveringen udføres. Dette kan gøres ved anvendelse af AttributeMetadata, RetrieveAttributeRequest og UpdateAttributeRequest.

Akkumulerede felter i MS CRM 2015

af Henrik Jensen 21. januar 2015 08:12

Min kollega Thomas Pein-Lorenzen gjorde mig opmærksom på de tilstandskoder der kan forekomme ved Akkumuledede felter i MS CRM 2015, og som man bør forholde sig til for at identificere om det Akkumulerede felt opfører sig som forventet.

Når man opretter et Akkumuleret felt indstiller man det således:

 

Systemet opretter 3 felter (4 i dette tilfælde da der er benyttet et Valuta-felt):

  Det oprindelige felt
  Tilhørende felt som håndterer valutaberegningen 
  Datofelt som fortæller hvornår feltet senest er opdateret
  Felt med tilstand for akkumuleringen

De tilstandskoder der kan optræde i feltet Sum (tilstand) (<navn>_state) er:

State
værdi
Tekstkode Beskrivelse
0 NotCalculated Feltet er endnu ikke blevet beregnet.
1 Calculated Feltet er beregnet. Datoen for beregningen finder man i feltet <navn>_date.
2 OverflowError Beregningen resulterede i en værdi som ligger udenfor de tilladte værdier for feltet.
3 OtherError Der opstod en intern fejl ved beregningen. Næste beregning vil højest tænkelig lykkedes.
4 RetryLimitExceeded Det maksimale antal gentagne forsøg på beregning er overskredet. Fejlen kan opstå ved låsning af de poster der skal beregnes. 
5 HierarchicalRecursionLimitReached Den maksimale dybde på beregninger er overskredet.
6 LoopDetected Der er tale om et loop i beregningen i forhold til de poster der beregnes. 

Akkumulerede felter kan benyttes på følgende felttyper:

  • Heltal (Whole Number)
  • Decimal (Decimal)
  • Valuta (Currency)
  • Dato og klokkeslæt (Date & Time)

Der er følgende begrænsninger ved brug af Akkumulerede felter:

  • Kan benyttes på 1:N-relationer...ikke på N:N-relationer.
  • Kan ikke benyttes ved beregninger på andre Akkumulerede eller Beregnede felter.
  • Kan ikke benyttes i forbindelse med Hændelser (Trigger) i Arbejdsprocesser (Workflows).
  • Der kan maksimalt benyttes 100 Akkumulerede felter indenfor en organisation.
  • En entitet kan maksimalt benytte 10 Akkumulerede felter.
  • Ved komplekse beregninger skal man stadig benytte plug-ins eller Javascript.

Læs mere

Her kan du finde flere informationer om Akkumulerede felter:

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...

Opdatering af Connector for Microsoft Dynamics V3 Rollup 4

af Henrik Jensen 11. december 2014 22:03

Microsoft har frigivet Opdateringspakke 4 (Rollup 4) til version 3 af Connector for Microsoft Dynamics (Build 3.4.304.1).

Vær opmærksom på at med denne frigivelse er det slut med understøttelse af MS CRM 4.0 og MS CRM 2011.

Opdateringen omfatter bl.a. (For download klik på de enkelte produkter (kun for kunder og partnere)):

MS CRM 2015 Understøttelse af MS CRM 2015.
Microsoft .NET Framework Microsoft .NET Framework 3.5 eller 4.5.2 er krævet, og vil kræve en selvstændig installation. Læs mere her: web installer eller offline installer.
Generelt Alle forrige opdateringer til V3 er inkluderet i denne opdatering.
Dynamics AX Nye mappings til Dynamics AX og MS CRM Kontaktperson, som kan håndtere de nye adresse-3-felter, der er indført med MS CRM 2015.
Dynamics AX 2012 R3 CU8 er fuldt understøttet.
Alle udgivelser efter Connectore V3 Rollup 3 (3.2.606.2) vil understøtte Dynamics AX 2012 R3.
Hvis man implementeret Dynamics AX 2012 R2 CU6 eller senere eller Dynamics AX 2012 R3, så er XPO ikke længere nødvendig.
Dynamics GP Alle forrige versioner af Dynamics GP 2010, 2013 og 2015 er understøttet.
Dynamics GP 2015 er underst
Muligheden for at lave integration, ved brug af en skabelon, mellem GP's Customer og MS CRM's Contact er fjernet.
Dynamics NAV Dynamics NAV 2015 samt alle tidligere versioner er nu understøttet.
Hvis man benytter en multi-tenant af Dynamics NAV 2013 R2 er integrationen og konfigurationen gjort meget nemmere.
Dynamics SL Tidligere versioner af Dynamics SL er nu understøttet.

Læs mere (Engelsk): Connector for Microsoft Dynamics V3 CU 4 released...
Installationsguider (Engelsk): Connector for Microsoft Dynamics installation guides...

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.


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...

E-bog om dashboard

af Henrik Jensen 30. juni 2014 20:43

Microsoft har frigivet en e-bog som har fokus på oprettelse af dashboard.

E-bogen er til administratorer og superbrugere, og beskriver de fundementale ting der er værd at vide om dashboard, og som guider dig gennem processen til oprettelse af lister og diagrammer, der er afgørende for at gøre data let forståeligt og tilgængeligt.

E-bogen inspirerer til at bruge dashboards på forskellig vis og er dermed med til at udvide dine dashboards på interessante måder.

Link til e-bogen (Engelsk): New eBook: Create or customize dashboards...

Microsoft frigiver opdatering til Connector for Microsoft Dynamics V3 - CU3

af Henrik Jensen 19. juni 2014 10:45

Microsoft har frigivet en opdatering til Connector for Microsoft Dynamics V3 CU3 (3.3.514.1). Opdateringen indeholder en række nyheder samt en række fejlrettelser.

Nyhederne og rettelserne omfatter bl.a.:

MS CRM 2013 Bedre understøttelse af MS CRM 2013 SP1 (6.1).
Mulighed for at tilknytte flere adresser til Firmaer (Accounts) og Kontaktpersoner (Contacts), som ikke tidligere havde flere adresser tilknyttet.
Dynamics NAV Understøttelse af Multi-tenant i Dynamics NAV.
Bedre understøttelse af specielle karakterer i firmanavne i Dynamics NAV.
Dynamics AX Man kan nu regenerere adresser for Dynamics AX-kunder, som tidligere er blevet slettet i Dynamics AX og MS CRM.
.NET Framework Kontrol for hvilket .NET Framework (3.4 og 4.5.1) der benyttes, under installationen.
SQL Server Man kan nu opgradere installationer hvor SQL Serveren benytter case-sensitive Microsoft SQL Server instanser.
Dokumentation User Guides for alle typer af installationer er opdateret, og det anbefales at læse disse for at undgå unødvendige fejl.
Dokumentationen beskriver hvordan man opgraderer de forskellige typer af installationer.

Link til originale blogindlæg (Engelsk): Connector for Microsoft Dynamics V3 CU 3 released...

Dubletregistrering er tilbage i MS CRM 2013, men...!

af Henrik Jensen 9. juni 2014 13:04

Microsoft fjernede dubletregistrering i MS CRM 2013, hvilket rigtig mange var utilfreds med. Den officielle forklaring var, at dubletsøgning krævede mange ressourcer og derfor påvirkede ydelser i MS CRM 2013.

I forbindelse med lanceringen af Opdateringspakke 1 blev en del af dubletregistreringen gjort tilgængelig igen, dog med begrænset funktionalitet.

Med frigivelsen af Serviceopdatering 1 (Service Pack 1) til MS CRM 2013, har Microsoft genindført dubletregistrering igen...men fungerer det nu som det oprindelig gjorde? Læs om dette i følgende Engelsksprogede indlæg: CRM 2013 Service Pack 1: Duplicate Detection Is Back, But…!!...

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.