Opgradering fra MS CRM 2013 til MS CRM 2015 kan fejle

af Henrik Jensen 28. september 2015 21:51

Philip Stanhope

Hvis man opgraderer MS CRM 2015 til MS CRM 2015 kan man opleve en bemærkelsesværdig fejl. Fejlen går ud på at der bliver skrevet en forkert datoværdi i en tabel i CRM-organisationsdatabasen.

I forbindelse med opgraderingen kan man opleve følgende fejl (uddrag af logfil):

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Crm.CrmArgumentOutOfRangeException: DateTime is less than minumum value supported by CrmDateTime. Actual value: 01/01/1753 00:00:00, Minimum value supported: 01/01/1900 00:00:00 ---> System.ArgumentOutOfRangeException: DateTime is less than minumum value supported by CrmDateTime. Actual value: 01/01/1753 00:00:00, Minimum value supported: 01/01/1900 00:00:00

Læg mærke til datoen 01/01/1753.

Konsulentchef Anders Lytoft Fyrst fra Nordic Computer, analyserede sig frem til at det var opgraderingsprocesser der indsatte den "forkerte" dato i tabellen TimeZoneRuleBase i organisationsdatabasen:

 

Løsningen

Inspiration til løsning på problemet er hentet i følgende blogindlæg: Upgrade 2013 to 2015 causes error...

Dog med en lille ændring af triggeren:

CREATE TRIGGER MyBasicTrigger On timezonerulebase After Insert, Update AS   
SET NoCount ON   
IF UPDATE(effectivedatetime)  
BEGIN
	UPDATE timezonerulebase
	SET EffectiveDateTime = '1900-01-01'     
	FROM timezonerulebase
	INNER JOIN inserted on timezonerulebase.TimeZoneRuleId = inserted.TimeZoneRuleId     
	WHERE Inserted.EffectiveDateTime < '1900-01-01'  
END

Efter oprettelse af triggeren køres opgraderingen. Når denne er færdig fjernes triggeren med følgende kommando:

DROP Trigger MyBasicTrigger

 

Læs mere

Mon fejlen har noget med den 4. Jarl af Chesterfield Philip Stanhope at gøre? Det kan du selv vurdere efter at have læst følgende: What is the significance of 1/1/1753 in SQL Server?...

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

Fejl ved import/opgradering af MS CRM 2013 Organisation til MS CRM 2015

af Henrik Jensen 31. august 2015 10:52

Hvis man importerer en MS CRM 2013-organisation til en MS CRM 2015-installation, så vil organisationen blive opgraderet. I dette scenarie kan man opleve følgende fejl:

System.Exception: Error.ActionFailed Microsoft.Crm.Tools.Admin.ProvisionOrganizationLanguagesAction ---> System.Data.SqlClient.SqlException: Invalid column name 'AttributeId'.
Invalid column name 'EntityName'.
Could not use view or function 'PrincipalSyncAttributeMap' because of binding errors.
  at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
  at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
  at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
  at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
  at System.Data.SqlClient.SqlDataReader.get_MetaData()

Løsningen

Fejlen har samme løsning som en anden fejl, som jeg lavede et blogindlæg om tidligere: Fejl ved opdatering af MS CRM 2015 med Opdatering 0.1...

Microsoft har erkendt fejlen men i skrivende stund er der endnu ikke lavet et fix til onpremise. Ifølge Oana Nitescu, Microsoft vil fejlen blive rettet i Opdatering 0.2 til onpremise.

Johnny Rossi har imidlertid fundet en midlertidig løsning på problemet, som skyldes en fejl i forhold til oprettelse af et indeks. Læs mere om fejlen (dateret 23. april 2015) (Engelsk): CRM 2015 - Error after update 0.1...

Fejl ved lagring af poster i MS CRM 2015 Online Opdatering 1

af Henrik Jensen 28. august 2015 08:07

Jesper Funk fra Norriq har tippet mig om en irriterende fejl når man gemmer poster i MS CRM 2015 Online med Opdatering 1. Fejlen kan opstå når man f.eks. gemmer en post såsom Firma, hvor man kan opleve at følgende dialogboks fremkommer når man klikker på knappen Gem og Luk:

OPDATERING! Efter at jeg har lavet denne artikel har flere kontaktet mig, herunder Nels Poulsen, CRM Architect hos GN Netcom, for at fortælle, at løsningen anvist i dette indlæg ikke har hjulpet hos dem. En del har forskellige oplevelser med om det virker eller ej, og der er mange andre mystiske fejl efter Opdatering 1 på MS CRM 2015 Online. Jeg har også selv oplevet nogle andre uheldigheder, som dette indlæg ikke dækker.

Indlæsning og håndtering af formularer (rent teknisk) er ændret med MS CRM 2015 Online Opdatering 1. De nye formularer er markant hurtigere end dets forgængere. Læs mere om dette her (Engelsk): MS CRM Online 2015 Update 1 - New Form Rendering Engine...

Fejlen kan undgås ved at indstille MS CRM til at benytte den forrige metode til håndtering af formularer (Indstillinger, Administration, Systemindstillinger) fanen Generelt.

 

BEMÆRK! Jeg har testet ovenstående problemstilling i såvel opgraderede organisationer som nyoprettede organisationer. Og det viser sig at problemet øjensynlig kun optræder i opgraderede organisationer.

Fejl ved opdatering af MS CRM 2015 med Opdatering 0.1

af Henrik Jensen 9. august 2015 09:17

Hvis man installerer den Engelske udgave af MS CRM 2015 og derefter installerer f.eks. Dansk Sprogpakke, og man så derefter opdaterer installationen med Opdatering 1, så kan man opleve fejl ved opdateringerne af organisationer med Opdatering 1.

Uddrag af logfilen:

System.Exception: Error.ActionFailed Microsoft.Crm.Tools.Admin.InstallDatabaseUpdatesAction ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Data.SqlClient.SqlException: The current transaction cannot be committed and cannot support operations that write to the log file. Roll back the transaction.
Uncommittable transaction is detected at the end of the batch. The transaction is rolled back.
  at Microsoft.Crm.Metadata.IndexAndConstraintManagementService.RecreateIndexesInternal(Dictionary`2 indexesToRecreate, IIndexMetadataProvider metadata, ISqlExecutionContext sqlContext)
  at Microsoft.Crm.Metadata.IndexAndConstraintManagementService.RecreateIndexes(IIndexMetadataProvider metadata, ISqlExecutionContext sqlContext, Func`2 recreateIndex)
  at Microsoft.Crm.Setup.IndexAndConstraintUpgradeService.RestoreIndexesAndConstraintsInternal(IIndexMetadataProvider metadata, ISqlExecutionContext sqlContext, Func`2 recreateIndex)
  at Microsoft.Crm.Setup.MetadataPatchService.ProcessIndexDiffs(IIndexDiffManager indexDiffManager, ISqlExecutionContext context, HashSet`1 newEntities)
  at Microsoft.Crm.Setup.MetadataPatchService.ProcessDiffSet(MetadataPatchDiffSet diffSet, Int32 lcid, ExecutionContext context)
  at Microsoft.Crm.Setup.MetadataPatchService.ProcessMetadataDiffFile(String targetVersion, ExecutionContext context)
  at Microsoft.Crm.Setup.DiffBuilder.UpdateMetadata(String targetVersion)

Løsningen

Microsoft har erkendt fejlen men i skrivende stund er der endnu ikke lavet et fix til onpremise.

Johnny Rossi har imidlertid fundet en midlertidig løsning på problemet, som skyldes en fejl i forhold til oprettelse af et indeks. Læs mere om fejlen (dateret 23. april 2015) (Engelsk): CRM 2015 - Error after update 0.1...

Fejl ved import af organisationer efter Opdatering 0.1

af Henrik Jensen 25. juni 2015 19:33

Hvis man har opdateret MS CRM 2015 med Opdatering 0.1 (Update 0.1) så vil man opleve følgende fejl når man forsøger at importere en organisation:

I logfilen finder man bl.a. følgende meddelelse:

Error while updating organization information: System.Data.SqlClient.SqlException (0x80131904): Could not find stored procedure 'p_CreateAuditEntry'.

Der er flere som har oprettet en sag hos Microsoft, men der er ikke frigivet en officiel løsning på problemet. Læs mere om dette her: Error Importing Organization after Update 0.1...

I ovennævnte artikel beskriver Harald Petersilka en løsning, som jeg kan tilslutte mig, om end det er en midlertidig løsning. Husk herunder at fjerne de dele af de 2 stored procedures, som refererer til tabellen AuditHistory. De 2 stored procedures skal ende med at se således ud:

if exists (select * from sys.objects where name = 'p_CompleteAuditEntry' and type = 'P')
begin
drop procedure p_CompleteAuditEntry
end
go
create procedure p_CompleteAuditEntry( @AuditEntryId uniqueidentifier,
@Result int,
@Details nvarchar(max)) as
begin
set nocount on
end
go

 

if exists (select * from sys.objects where name = 'p_CreateAuditEntry' and type = 'P')
begin
drop procedure p_CreateAuditEntry
end
go

create procedure p_CreateAuditEntry (@AuditEntryId uniqueidentifier,
@ObjectId uniqueidentifier,
@ObjectType nvarchar(40),
@Operation nvarchar(40),
@Details nvarchar(max),
@UserName nvarchar(40)) as
begin
set nocount on
end
go

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: Fejl omkring rettigheder i MS CRM 2015

af Henrik Jensen 17. december 2014 16:52

I et tidligere indlæg (Fejl omkring rettigheder i MS CRM 2015...) er der en beskrivelse af et problemet der er i forhold til sikkerhedsroller/rettigheder i MS CRM 2015, hvilket Microsoft nu har erkendt.
 
Thomas Rath fra Norriq har fået følgende svar fra Microsoft:

I was able to confirm that this fix will be deployed in CRM Online by end of this month. It will be available in On-premises with the first rollup for CRM 2015.

Fejl omkring rettigheder i MS CRM 2015

af Henrik Jensen 9. december 2014 16:29

Thomas Rath fra Norriq har fundet endnu en fejl i MS CRM 2015...og en ret irriterende en af slagsen (det er de vist alle sammen). Det der gør denne fejl særlig irriterende er, at en umiddelbar løsning kan være at slække på sikkerhedsindstillingerne i enkelte sikkerhedsroller. I samarbejde med Thomas har jeg analyseret på problemet, dog ikke til bunds, da det kan være en kompleks problemstilling.

Problemet

Man kan opleve følgende:

  • Man møder en tom skærm når man åbner et Kundeemne, en Kontaktperson et Firma og Konkurrent.
     

     
  • Man kan ikke Kvalificere et Kundeemne.
  • Man vil opleve en fejlmeddelelse.
     


    ...med følgende detaljeret meddelelse:
     

 

Løsningen

Den umiddelbare løsning er at Microsoft retter fejlen. Indtil det er tilfældet har vi identificeret følgende løsning, som skal indstilles forskellige steder i de Sikkerhedsroller man benytter:

  • Åbning af Firma, Kontaktperson og Kundeemne: Læs-rettighed på Kampagne (Marketing)
  • Kvalificering af Kundeemne til Salgsmulighed: Læs-rettighed på Forbindelse (Kerneposter)
  • Åbning af Konkurrent: Læs-rettighed på Produkt, Egenskab og Salgsmateriale (Salg)

Det kan altså anbefales at analysere sine Sikkerhedsroller, og teste brugen af disse. Ovenstående er de umiddelbare fejl vi har identificeret. Der kan sagtens være flere ting som fejler, og som kræver yderligere analyse.

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

Forkert formatering af Noter

af Henrik Jensen 7. september 2014 22:12

Hvis man har implementeret Opdateringspakke 2 og/eller Serviceopdatering 1, kan man opleve at fanen Noter bliver formateret forkert.

 ...mens den burde se sådan ud... 

Dette kan optræde under følgende betingelser:

  • Der er implementeret Opdateringspakke 2 og/eller Serviceopdatering 1.
  • MS CRM er implementeret med Engelsk sprog.
  • Organisationen er ikke Engelsk, men f.eks. Dansk.
  • Den/de installerede sprogpakke(r) er ikke opdateret og dermed følger versionen på serverkomponenten.

Løsningen er at opdatere MS CRM med den/de seneste sprogpakke(r).

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

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
    • Microsoft Dynamics 365

Ikoner:
    • Icons8

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
    • Krav og opsætninger Dynamics 365

JScript eksempelkode:
    • Javascript API-reference
    • Javascript eksempelkode

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

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

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.