Maintenance Plan - Backup og optimering af MS CRM

På langt de fleste MS CRM-installationer jeg har analyseret, er der ikke en ordentlig optimering af MS CRM. Dette kan klares med en Maintenance PlanSQL Serveren, og det er netop det dette indlæg handler om. Der er mange måder at optimere sit MS CRM-system på. Dette indlæg handler alene om at at lave og eksekvere en Maintenance Plan på SQL Server 2005, men teknikken er stort set den samme på SQL Server 2008.
 
Læs evt. også et tidligere indlæg jeg har lavet om optimering af ydelsen i MS CRM.
 

Hvorfor have en Maintenance Plan?

En Maintenance Plan er en plan som kører på SQL Serveren, og den kan indeholde mange ting, såsom backup og optimering af databaser, indeks mv. Man bør have en Maintenance Plan kørende jævnligt, f.eks. en gang om ugen eller oftere.
 

Hvad bør en Maintenance Plan indeholde?

Set i forhold til MS CRM, bør en Maintenance Plan indeholde følgende:
  • Backup af databaser
  • Kontrol af databaseintegritet
  • Formindskelse af database og logfiler
  • Reorganisere indekser
  • Gendannelse af indeks
  • Oprydning

 

Hvordan laver man en Maintenance Plan?

Man kan benytte en guide, på SQL Server 2005/2008, til at oprette en Maintenance Plan, eller man kan oprette den manuelt.
 
Du starter guiden til planlægning af databasevedligeholdelse (Maintenance Plan) ved at udvide serveren, udvide mappen Management i SQL Server Management Studio, højreklikke på mappen Maintenance Plans og derefter klikke på Maintenance Plan Wizard.
 
Man opretter en manuel Maintenance Plan ved at vælge New Maintenance Plan.
 

Oprettelse af Maintenance Plan til MS CRM

Lad og kigge nærmere på en anbefalet Maintenance Plan alene til MS CRM.
 
 

Back Up Database (Full)

Backup af databaser er en selvfølgelighed. I forhold til MS CRM er følgende databaser vigtige af lave backup af:
  • <Organisation>_MSCRM
  • MSCRM_CONFIG
  • ReportServer (kan have andet navn på SQL Server 2008)
  • ReportServertempdb  (kan have andet navn på SQL Server 2008)
  • master
  • msdb
     

Check Database Integrity

Check Database Integrity kontrollerer den strukturelle integritet af alle objekter i den angivne database. Kontrollen kan udføres på en enkelt database eller flere databaser, og du kan vælge om databasens indekser også skal kontrolleres.
Man bør, som minimum, inkludere følgende databaser i denne kontrol:
  • <Organisation>_MSCRM
  • master
     
Andre databaser, såsom msdb og MSCRM_CONFIG, ændrer sig ikke så ofte, og derfor er en kontrol ikke så vigtig - i hvert tilfælde ikke nødvendig daglig eller ugentlig, men eventuelt gerne månedlig.

Shrink Database

Hver fil i en database, kan reduceres ved at fjerne ubrugte sider (pages). En database består ofte af en datafil og en logfil. Med MS CRM vil især logfilen ofte blive ganske stor, og det kan påvirke ydelsen negativt.
Man bør, som minimum, inkludere følgende database i denne opgave:
  • <Organisation>_MSCRM
     

Reorganize Index Task

Brug Reorganize Index Task til at reorganisere indekser på tabellerne i databasen. En reorganisering af indekser er med til at forbedre ydelsen og optimere indeksene. Man bør, som minimum, inkludere følgende database i denne opgave:
  • <Organisation>_MSCRM
     

Rebuild Index Task

Brug Rebuild Index Task til at genskabe indekser på tabellerne i databasen. Ved at genopbygge indekser kan man frigøre en del plads, som vil opstå når indeks kører og opdateres automatisk. Ved at frigøre denne plads optimeres indeksene.
Man bør, som minimum, inkludere følgende database i denne opgave:
  • <Organisation>_MSCRM
 

Maintenance Cleanup Task

Brug Maintenance Cleanup Task til at rydde op i backupfiler så disse ikke bliver lagret flere gange i en uendelighed. Ofte vil man medtage samme databaser, som der er taget backup af, altså databaserne angivet i Back Up Database Task'en.
 
 
I de fleste tilfælde indstiller man databasens Recovery Model til Simple samt Auto Shrink til True. Hvis dette ikke gøres, er det ikke sikkert at databasen kan formindskes. Vær dog opmærksom på at Simple giver en mindre sikkerhed i forhold til reetablering af data fra transaktionsloggen. Læs evt.: Recovery Model Overview (Engelsk)...

 

Kørsel af Maintenance Plan'en

Man afgør selv hvor ofte man vil køre en Maintenance Plan, men jeg kan anbefale, at optimering af indeks og formindskelse af databasen gennemføres ugentlig.
 

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.