Installationsguide til Kingswaysoft

af Henrik Jensen 21. november 2016 22:26

Thomas Pein-Lorenzen har lavet en installationsguide til Kingswaysoft, som anviser alle de komponenter der skal opdateres og installeres.

I forlængelse af installationsguiden er der en liste, med links, til de komponenter man har brug for, i forskellige versioner.

Installationsguide (Engelsk): Installation guide to KingswaySoft...

Liste med komponenter (Engelsk): Software download list...

Millioner af valideringer af servicekonto i Active Directory fra SSIS

af Henrik Jensen 8. november 2016 08:11

Min gode kollega Thomas Pein-Lorenzen og jeg har bokset med en underlig hændelse i et stykke tid som kan relateres til SSIS-datapakker.

Problemet er at der optræder flere millioner valideringer af den servicekonto (bisql) der benyttes til at eksekvere en række SSIS-pakker, men at SQL Jobbene blev udført af en anden konto.

Løsningen var at indstille SQL jobbene til at eksekvere under samme konto (bisql), som eksekverer SSIS-pakkerne.

Læs mere om problemstillingen (Engelsk) og læsningen i det blogindlæg Thomas har lavet på sin blog (Engelsk): Millions of credential validations on the Active Directory from SSIS...

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

Hurtig søgning fungerer ikke som den skal

af Henrik Jensen 9. september 2016 07:56

I forbindelse med frigivelsen af MS CRM 2015 Opdatering 1 er det muligt at slå fuld tekstsøgning for hurtig søgning til (standardindstillingen er Nej) under Systemindstillinger (Fanen Generelt).

Indstillingen kan kun gennemføres på Onpremise-installationer, og altså ikke Online.

Ved at slå funktionen til kan man udnytte SQL Serverens Full Text Search-kataloget, som indeholder en indekseret liste med felter som er markeret som søgbare i MS CRM.

Ved at benytte SQL Serverens Full Text Search-kataloget gøres søgningen op til 100-gange hurtigere i meget store databaser. Man behøver heller ikke at bruge wildcards (*) når man bruger hurtigsøgning. 

 

Problemet

Problemet er, at funktionalitet, er at den ikke returnerer det forventede resultat. Lad os kigge på et eksempel hvor der søges efter ordet autor i feltet Firmanavn på entiteten Firma:

Hurtigsøgning Kriterie for Avanceret søgning Resultat af Avanceret søgning

Et andet krav for at Hurtigsøgningen fungerer er at indstille EnableQuickFindOptimization til 1. Man kan benytte værktøjet Dynamics CRM Organization Settings Editor til denne opgave.

Man skal være opmærksom på at SQL Serverens Full Text Search indeholder en række stopord. Man kan se hvilke ved at gennemføre følgende på CRM-organisationsdatabasen:

SELECT * FROM sys.fulltext_system_stopwords WHERE language_id =1030

 Et eksempel på noget af resultatet er:

 

Løsningen

Løsningen på problemet er, at slå fuld tekstsøgning for hurtig søgning fra...også selvom hurtigsøgningerne dermed bliver langsommere. Når man slår søgningen fra skal man, som udgangspunkt vente 24 timer på at MS CRM's vedligeholdelsesjobs gennemføres.

Man kan dog også manuelt opdatere Full-Text Catalog på SQL Serveren ved at klikke, med den højre musknap på CRMFullTextCatalog og vælg Properties. Marker derefter alternativet Optimize catalog og klik på knappen OK.

Når man slår hurtigsøgningen fra skal man bruge wildcards (*) når man bruger hurtigsøgning.

 

Læs mere

Ny blog om SSIS, CRM og Integrationer

af Henrik Jensen 7. juni 2016 08:22

Min gode kollega, og KingswaySoft MVP Thomas Pein-Lorenzen har lavet en Engelsksproget blog som fokuserer på SSIS (SQL Server Itegration Services), CRM og Integrationer...og med et strejf af KingswaySoft, som er Thomas' foretrukne værktøj til at arbejde med SSIS og integrationer

Jeg kan bestemt anbefale at holde øje med bloggen. Jeg ved at Thomas er i gang med at udbygge bloggen, og løbende vil lave indlæg.

Link til blog (Engelsk): http://www.tpein.dk

Analysere CRM's Audit Log med KingswaySoft

af Henrik Jensen 29. maj 2016 11:38

Jeg faldt over et blogindlæg som beskriver hvordan med kan bruge KingswaySoft til at trække data ud af CRM's Audit Log, hvilket ikke kan lade sig gøre som standard, og heller ikke muligt med tidligere versioner af KingswaySoft.

Med udgivelsen af version 7 (Læs mere: Opdatering af Kingswaysoft (7.1)...) kan man nu hente data i Audit Loggen.

Jeg kan anbefale at læse blogindlægget (Engelsk): Analyzing Audit Logs using KingswaySoft...

Opdatering af Kingswaysoft (7.1)

af Henrik Jensen 23. maj 2016 13:30

Min gode kollega, og KingswaySoft MVP Thomas Pein-Lorenzen har gjort mig opmærksom på at Kingswaysoft har frigivet en Spring Release af deres SSIS Integration Toolkit...ikke bare til MS CRM, men også til den enorme mængde af produkter og teknologier, som KingswaySoft kan integrere til. Læs mere om de mange teknologier her: SSIS Integration Toolkit Spring 2016 Releases...

I forhold til MS CRM omfatter opdateringen en række nyheder, udvidelser samt almindelige fejlretninger. Læs mere om disse her: What's New with the SSIS Integration Toolkit for Dynamics CRM...

BEMÆRK! Man bør altid benytte samme version af KingswaySoft til designer og server. Der kan opstå problemer hvis man f.eks. på serveren bruger version 6.1, og i designeren benytter version 7.1.

Download Kingswaysoft SSIS Integration Toolkit (Engelsk): Download the SISS Integration Toolkit for MS CRM...

Oprette en Installationsadministrator (Deployment Administrator) i databasen

af Henrik Jensen 16. maj 2016 08:30

I nogle tilfælde har jeg fået adgang til en CRM-server hvor jeg skal administrerer MS CRM via Installationsstyringen (Deployment Manager), men jeg er ikke oprettet som Installationsadministrator (Deployment Administrator). I de fleste tilfælde vil jeg bede de ansvarlige om at oprette mig som Installationsadministrator, men i nogle tilfælde kan det være besværligt.

 

Denne vejledning viser hvordan man kan oprette en CRM-bruger som Installationsadministrator (Deployment Administrator) direkte på SQL Serveren, og dermed opnå adgang til Installationsstyringen (Deployment Manager).

Eksemplet herunder tager udgangspunkt i MS CRM 2016, men det er samme fremgangsmåde helt tilbage til MS CRM 4.0.

Forudsætningerne er, at den Bruger man vil gøre til Installationsadministrator:

  • Skal være oprettet i MS CRM og have sikkerhedsrollen Systemadministrator.
  • Skal, som minimum, være Lokal AdministratorCRM-serveren.
  • Man skal have rettigheder som SysAdminSQL Serveren.

Gennemfør følgende trin:

  1. Find SystemUserId, fra Organisationsdatabasen, på den bruger som skal være Installationsadministrator:
    SELECT SystemUserId, FullName
    FROM dbo.SystemUser
    WHERE (FullName LIKE '%test%')
  2. Find Id og UserId fra MSCRM_CONFIG:
    SELECT Id, UserId
    FROM dbo.SystemUserOrganizations
    WHERE (CrmUserId = '[SystemUserId fra Trin 1]')
  3. Find Id, fra MSCRM_CONFIG, på den Sikkerhedsrolle (Security Role), som er Administrator:
    SELECT Id FROM dbo.SecurityRole WHERE (Name = 'Administrator')
  4. Kør følgende script, fra MSCRM_CONFIG, for at oprette en SystemUserRole:
    INSERT INTO SystemUserRoles
    (
         [Id]
         ,[SecurityRoleId]
         ,[SystemUserId]
         ,[IsDeleted]
    )
    VALUES
    (
         NEWID()
         ,'[Id fra Trin 3]'
         ,'[UserId fra Trin 2]'
         ,0
    )
  5. Kør følgende script, fra MSCRM_CONFIG, for at knytte Brugeren til SystemUser-tabellen:
    UPDATE SystemUser
    SET Name =  '[Brugernavn (User Name) i MS CRM]'
    WHERE Id = '[UserId fra Trin 2]'

 

Gendanne en krypteret database med certifikater

af Henrik Jensen 2. maj 2016 19:53

Jeg har implementeret en del organisationsdatabaser fra CRM Online til Onpremise, i den seneste tid er den primære årsag dårlig ydelse på CRM Online.

Tidligere leverede Microsoft organisationsdatabasen som en SQL-backupfil, som man kunne gendanne i sit eget setup (onpremise). På det seneste leverer Microsoft organisationsdatabasen "pakket ind i vat" i form at et certifikat, som skal implementeres på SQL Serveren før man kan gendanne organisationsdatabasen (Tekster der identificerer kundenavn er erstattet med XYZ efterfølgende).

I nedenstående er 838bc2d177704acaa9e0d37190dd88f0 lig med GUID'en på organisationen.

Proceduren er følgende:

  1. Åbn SQL Server Management Studio. Åbn et Forespørgselsvindue (Query) og tast følgende
    use master
    GO
  2. Kontroller om DMK (MS_DatabaseMasterKey) eksisterer med følgende kommando:
    select * from sys.symmetric_keys
    GO
  3. Hvis Database Master Key ikke eksisterer så opret den således:
    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '[strong password text]'
    GO
  4. Verificer at DMK er oprettet således:
    select * from sys.symmetric_keys
    GO
  5. Importer certifikat således:
    CREATE CERTIFICATE CRMLTOP_XYZ_838bc2d177704acaa9e0d37190dd88f0
    FROM FILE = '[.cer file path]\CRMLTOP_XYZ_838bc2d177704acaa9e0d37190dd88f0.pfx_1.cer'
    WITH PRIVATE KEY (FILE = '[.pvk file path]\CRMLTOP_XYZ_838bc2d177704acaa9e0d37190dd88f0.pfx_1.pvk',
    DECRYPTION BY PASSWORD = 'CRMLTOP_XYZ_838bc2d177704acaa9e0d37190dd88f0')
  6. Herefter kan man gendanne organisationsdatabasen.

Databaseindeks i MS CRM

af Henrik Jensen 3. februar 2016 10:19

Jeg har ofte opgaver som handler om optimering af MS CRM, herunder optimering af databasen. Der er mange "knapper" man kan "skrue på", en af dem er at optimere databaseindeks, særligt på CRM-organisationer som indeholder mange tilpasninger.

Jeg benytter enten SQL egen profiler til at analysere data-trafikken, eller meget gerne SQL-værktøjet sp_BlitzCache™ fra Brent Ozar, som i øvrigt også har en fortræffelig checkliste til SQL-optimering (Engelsk): How to Make Slow SQL Servers Go Faster...

Jeg faldt dog også over et indlæg som er lavet af Teamet bag Dynamics CRM in the Field. Dette indlæg beskriver bl.a.:

  • Hvad man skal være opmærksom i forhold til optimering af MS CRM.
  • Fokus på fjernelse af indeks som ikke benyttes.
  • Anviser forskellige lister (Excel), med standardindeks i MS CRM.
  • Anviser en forespørgsel som viser alle indeks i en MS CRM-organisation (Se herunder)
SELECT s.name + '.' + t.name AS 'table_name', i.name, i.index_id
FROM sys.schemas AS s
INNER JOIN sys.tables AS t ON s.schema_id = t.schema_id
INNER JOIN sys.indexes AS i ON t.object_id = i.object_id
LEFT OUTER JOIN sys.objects AS o ON o.parent_object_id = t.object_id
AND i.name = o.name
WHERE (i.name IS NOT NULL)

Link til indlæg om optimering (Engelsk): Dynamics CRM indexes (missing, redundant, and OOB)...

Tags: ,

2013 | 2015 | 2016 | SQL Server

Antal af poster i en CRM organisationsdatabase

af Henrik Jensen 15. september 2015 12:23

Jeg har tidligere brugt værktøjet Dynamics XRM Tools (Statistics) til at vise hvor mange poster der er i en CRM-organisation. Værktøjet fungerer stadig, selvom det er skrevet til MS CRM 2011.

Jeg har også tidligere benyttet en standardrapport som SQL Serveren tilbyder, som hedder Disk Usage by Top Tables, og som viser en ganske fin rapport.

Jeg har for nyligt "opdaget" at Jamie Miley har begået et blogindlæg (How to Easily Get Record Counts for Entitys in MS CRM...) som indeholder et SQL View, som viser alle CRM-relaterede poster. SQL'et ser således ud:

SELECT        TOP (1000) dbo.RecordCountSnapshot.Count, dbo.RecordCountSnapshot.RecordCountSnapshotId, dbo.EntityView.ObjectTypeCode, dbo.EntityView.Name
FROM            dbo.RecordCountSnapshot INNER JOIN
                         dbo.EntityView ON dbo.RecordCountSnapshot.ObjectTypeCode = dbo.EntityView.ObjectTypeCode
WHERE        (dbo.RecordCountSnapshot.Count > 0)
ORDER BY dbo.RecordCountSnapshot.Count DESC

Outputtet er:

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

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.