SSIS navnekonventioner

af Henrik Jensen 27. juli 2018 13:19

Det er en god ide (Best Practice) at navngive de objekter man benytter i SSIS med bestemte præfiks, så det det er lettere at identificere disse visuel og i XML-koden.

Der findes en række forskellige forslag til navnekonventioner. Microsoft har frigivet en konvention. Læs mere her (Engelsk): SSIS Naming Convention – Updated for SSIS 2016...

Man kan downloade navnekonventionerne i et Excel-dokument her: SSIS Component Naming Convention Prefixes...

Jeg benytter en lidt anden navnekonvention end den Microsoft anbefaler. De overordnede komponenter giver jeg følgende præfix:

 Komponent  Præfix    Destination/Sources  Præfix
 Aggregate  AGG    ADO NET Destination  ADONET_DST
 Balanced Data Distributor  BDD    ADO NET Source  ADONET_SRC
 Cache Transform  CHT    Dynamics AX Destination  DYNAX_DST
 Conditional Split  CSPL    Dynamics AX Source  DYNAX_SRC
 Data Conversion  DCNV    Dynamics CRM Destination  DYNCRM_DST
 Derived Column  DER    Dynamics CRM Source  DYNCRM_SRC
 Lookup  LKP    Dynamics NAV Destination  DYNNAV_DST
 Merge  MRG    Dynamics NAV Source  DYNNAV_SRC
 Merge Join  MRGJ    Excel Destination  EX_DST
 Multicast  MLT    Excel Source  EX_SRC
 Pivot  PVT    Flat File Destination  FF_DST
 Row Count  CNT    Flat File Source  FF_SRC
 Row Sampling  RSMP    OLE DB Command  CMD
 Script Component  SCR    OLE DB Destination  OLE_DST
 Slowly Changing Dimension  SCD    OLE DB Source  OLE_SRC
 Sort  SRT    Raw File Destination  RF_DST
 Term Extraction  TEX    Raw File Source  RF_SRC
 Term Lookup  TEL    Recordset Destination  RS_DST
 Union All  ALL    SQL Server Destination  SS_DST
 Unpivot  UPVT    SQL Server Mobile Destination  SSM_DST
       XML Source  XML_SRC

Kingswaysoft: Begrænsninger på antal forbindelser (Connections)...hvad betyder det?

af Henrik Jensen 5. juli 2018 20:12

I version 10.0 introducerede Kingswaysoft en begrænsning i antallet af unikke forbindelser (Connections) til 8, men hvad betyder det egentlig og hvad er formålet med denne begrænsning?
 

Hvorfor lave en begrænsning?

I følge Kingswaysoft har begrænsningen alene til formål at ramme kunder som bruger Kingswaysoft til mange unikke forbindelser, herunder hostingcentre og større kunder. Begrænsningen har ikke til formål at ramme den overvejende kundegruppe, som er almindelige virksomheder. Begrænsningen vil kun ramme ca. 6-8% af kunderne.

Hvis man render ind i begrænsningen kan man få følgende fejlmeddelelse:

Update Account:Error; An error occurred with the following error message:
"A total of 10 distinct connections detected for 'DynamicsCRM'. which has
exceeded the maximum limit (8) permitted by the installed license.
Consider upgrading your software license to a higher tier that allows for more 
distinct connections, or wait 1380.03 minutes for the connection metering to 
be automatically reset. (Component name: myComponent; Machine/Instance 
name: myServer; License Key: 22FEE-EC776-87564-01CET-80CZB-123FD)".
 

Hvordan fungerer begrænsningen?

Den korrekte ordlyd fra Kingswaysoft er: "Standard use licensing model, this limits the number of distinct connections to 8 per connection type within a 24 hour period at runtime."

Hvilke forbindelsestyper (Connection Types) er omfattet? Det er alene dem som Kingswaysoft har udviklet, se eksemplet til højre.

Alle øvrige forbindelsestyper er således ikke omfattet af begrænsningen.

Når man opretter en forbindelse til f.eks. Dynamics CRM benytter man oftest en dialogboks, og resultatet er, at der dannes en ConnectionString i det bagvedliggende XML-dokument.

Her er et eksempel på dele af XML-dokumentet, som indeholder en ConnectionString:

<DTS:ConnectionManager
  DTS:refId="Package.ConnectionManagers[Dynamics CRM Connection Manager]"
  DTS:CreationName="DynamicsCRM"
  DTS:DTSID="{153290FA-C811-47FF-81EC-6AC8B2CD11DB}"
  DTS:ObjectName="Dynamics CRM Connection Manager">
  <DTS:ObjectData>
    <CrmConnectionManager
        ConnectionString="AuthenticationType=ActiveDirectory;ServiceEndpoint=
        Soap2011;DiscoveryServerUrl=http://crm.easyconsult.dk;UserName=;Domain=;
        OrganizationName=EASYConsult;CrmServerUrl=http://crm.easyconsult.dk/
        EASYConsult;ProxyUsername=;ProxyMode=NoProxy;ProxyServer=;
        ProxyServerPort=0;BypassProxyOnLocal=True;HomeRealmUri=;ApiVersion=;
        ServiceTimeout=300;RetryOnIntermittentErrors=True;
        IgnoreCertificateErrors=False" />
</DTS:ObjectData>
</DTS:ConnectionManager>

Det er ikke hele ConnectionString'en der medgår, når antallet af unikke forbindelsestyper beregnes; det er kun følgende dele:

  • CRM discovery server URL: DiscoveryServerUrl=http://crm.easyconsult.dk
  • Organization Name: OrganizationName=EASYConsult
  • CRM Server URL: CrmServerUrl=http://crm.easyconsult.dk/EASYConsult

Man skal være opmærksom på følgende:

  • Anvendelse af parametre i forbindelse med ConnectionStrings
  • Om der indgår Endpoint (discover.svc) i CRM discovery server URL eller ikke
  • Om der indgår Endpoint (organization.svc) i CRM Server URL eller ikke
  • Der sondres ikke mellem store/små bogstaver
     

Et regneeksempel

På en SQL Server med en standard Kingswaysoft-licens er der følgende Connections:

Forbindelsestyper
Dynamics CRM (365) Dynamics CRM 2015 Dynamics NAV 2013 Dynamics NAV 2018 ADO.NET Salesforce Flatfile Excel
CRM Org. Contoso X CRM Org. Contoso X NAV Org. X NAV Org. Y NAV Org. X Salesforce Org. Contoso X NAV Org. X CRM Org. Contoso X
CRM Org. Contoso X CRM Org. Contoso Y NAV Org. X   Staging table X on SQL Server   CRM Org. Contoso Y CRM Org. AdventureWorks Y
CRM Org. AdventureWorks X CRM Org. AdventureWorks Y     Staging table Y on SQL Server      
CRM Org. AdventureWorks X       CRM Org. Contoso X      

Der skal anvendes i alt 7 forbindelser, som fordeler sig således:

  • 4 CRM (2 til CRM 365 og 2 til CRM 2015)
  • 2 NAV (1 til NAV 2013 og 1 til NAV 2018)
  • 1 Salesforce

Vær opmærksom på at SSIS Productivity Pack indeholder komponenter til Excel,  Data Anonymizer, Email mv. Hvis disse benyttes så tæller de med som hver sin unikke type.
 

Hvad hvis man har brug for mere end 8 forbindelser?

Man kan købe Kingswaysoft-licenser med flere unikke forbindelser. Kingswaysoft har desværre ikke en officiel prisliste. Man skal kontakte dem for mængde og pris. Man kan købe forbindelser i følgende pakker; 25, 50, 75, 100.

Opdatering af Kingswaysoft (10.1 og 7.1)

af Henrik Jensen 4. juni 2018 17:59

Kingswaysoft har frigivet en opdatering til SSIS Integration Toolkit for Microsoft Dynamics 365 (10.1) samt SSIS Productivity Pack (7.1). Opdateringerne indeholder fejlrettelser samt en hel del nyheder, af disse kan bl.a. nævnes:

  • SSIS Integration Toolkit for Microsoft Dynamics 365:
    • Håndtering af integration ved ændringer af data i Microsoft Dynamics 365 Finance & Operations
    • Mulighed for at benytte "Write NULL on empty value(s)" i CRM Text Lookup Editor, som giver mulighed for at indsætte NULL-værdier når en værdi er tom eller NULL.

Læs mere om opdateringerne (Overordnet) her (Engelsk): New Releases for SSIS Productivity Pack & SSIS Integration Toolkit for Microsoft Dynamics 365...

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 8.1, og i designeren benytter version 9.1.

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

Anonymisering af data med Kingswaysoft...i disse dage med GDPR

af Henrik Jensen 29. maj 2018 16:10

Ved et par lejligheder har jeg benyttet mig af en særlig Kingswaysoft-komponent, som kan anonymisere data. Komponenten hedder Data Anonymizer, og er en del af Kingswaysoft's SSIS Productivity Pack Anonymizer.

Data Anonymizer er særdeles anvendelig i situationer hvor man har et eller flere CRM-miljøer hvor man skal anonymisere data (det er her at GDPR bl.a. kan spille ind). Her er et eksempel på hvad komponenten kan:

Opsætningen af felterne foregår i Data Anonymizer-komponenten, hvor man angiver hvilke felter der skal anonymiseres.

Man kan indstille de forskellige felttyper individuelt, og således bestemme hvordan dataene skal anonymiseres. Læs mere om dette i dokumentationen (Engelsk): Data Anonymizer...

Den Svenske gut Gustaf Westerlund har også begået et blogindlæg om komponenten. Læs mere her (Engelsk): Anonymizing data in UAT/Dev - GDPR...

Nyeste komponenter til Visual Studio, SSIS og Kingswaysoft

af Henrik Jensen 13. februar 2018 11:46

De nyeste komponenter til Visual Studio, SSIS og Kingswaysoft omfatter:

Vær opmærksom på at det kun er SQL Server 2012 eller senere der er understøttet af ovenstående konfiguration.

Løsning på fejl vedr. SQL Servers instansnavn som ikke matcher computerens navn

af Henrik Jensen 28. september 2017 08:00

Jeg flyttede for nyligt SQL Server på et hostingcenter, og stødte i den forbindelse på en sjælden fejl.

Den nye SQL Server havde følgende karakteristika:

  • SQL Server 2016 Standard Edition
  • 2 Instanser (CRM 2015 og CRM 2016)

SQL Serverens navn var xxHOSTCRMSQL-STD (xx er opfundet for at skjule kundens identitet). Med dette navn skulle de 2 instanser så have følgende navne:

  • xxHOSTCRMSQL-STD\MSSQLSTD2015
  • xxHOSTCRMSQL-STD\MSSQLSTD2016

I forbindelse med etableringen af instanserne fremkom der en fejl som indikerede at server-delen af navnet (xxHOSTCRMSQL-STD) på instansen var for langt. Jeg troede at vi var ovre den tid med korte navne på servere...men nej!

Navnet på serveren skulle ændres (til xxHOSTSQL-STD), og dem som har prøvet det på en server som har installeret SQL Server ved at det gør man ikke bare. Normalt skal man afinstallere og installere SQL Serveren igen efter ændringen af serverens navn. Men sådan er det ikke med SQL Server 2016. Den kan godt finde ud af at omdøbe SQL Serveren og dens instanser..hurra Microsoft - langt om længe!

Jublen varede dog kun til at CRM-organisationerne skulle flytter, så fremkom følgende ballade:

Så havde ændringen af navnet på serveren alligevel ikke slået igennem alle steder, på trods af at dette blev indikeret i navnet når man åbner de 2 instanser på SQL Serveren.

Løsningen

Løsningen var at fjerne det forkerte navn på de 2 instanser og oprette disse igen. Dette gøres således:

  1. Åbn SQL Serveren med den ønskede instans.
  2. Klik, med den højre musknap, på instansen og vælg New Query.


     
  3. Indtast og eksekver følgende kommando for at identificere navnet på instansen: select @@servername
    Resultatet er: xxHOSTCRMSQL-ST\MSSQLSTD2015, altså det forkerte navn.
     
  4. Fjern navnet ved at eksekvere følgende kommando: SP_DROPSERVER "xxHOSTCRMSQL-ST\MSSQLSTD2015"
     
  5. Opret det nye navn ved at eksekvere følgende kommando: SP_ADDSERVER "xxHOSTSQL-STD\MSSQLSTD2016", local
     
  6. Tjek evt. navnet ved at eksekvere følgende kommando: SP_HELPSERVER

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

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

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

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.