Gammel database statistikk redusere ytelsen på SharePoint-serveren, forårsake tidsavbrudd og generere kjøretidsfeil

VIKTIG: Denne artikkelen ble oversatt med maskinoversettelsesprogramvare fra Microsoft og muligens redigert av Microsoft Community via CTF-teknologi i stedet for av en oversetter. Microsoft tilbyr både menneskelig oversatte og maskinoversatte/Community-redigerte artikler, slik at du får tilgang til alle artiklene i vår Knowledge Base på ditt eget språk. En maskinoversatt eller Community-redigert artikkel er imidlertid ikke alltid perfekt. Den kan inneholde feil i vokabular, syntaks eller grammatikk, mye likt en fremmedspråklig som forsøker å snakke språket ditt. Microsoft har ikke ansvar for unøyaktige opplysninger, feil eller skade forårsaket av feilaktig oversettelse av innholdet eller kundenes bruk av informasjonen. Microsoft oppdaterer jevnlig maskinoversettelsesprogramvaren og -verktøyene for å forbedre redigering av maskinoversatte tekster.

Den engelske versjonen av denne artikkelen er den følgende: 3103194
Statistikk for databasen
Statistikk for query optimalisering er objekter som inneholder statistisk informasjon om fordelingen av verdier i én eller flere kolonner i en tabell eller en indeksert visning. Spørringsoptimaliseringen bruker denne statistikken til å beregne Kardinaliteten, eller føre til antallet rader i spørringen. Disse estimatene kardinalitet aktivere spørringsoptimaliseringen til å opprette en spørringsplan for høy kvalitet.

Hvis du for eksempel kan spørringsoptimaliseringen forbedre spørringen ytelse ved hjelp av kardinalitet estimater for å velge indeksen seek operatoren i stedet for operatoren mer ressurskrevende indeksen skanning. Ellers kan utdaterte statistikk redusere ytelsen for spørring ved hjelp av ineffektive spørringsplaner.

Store virksomheter for SharePoint må ha vedlikeholdsplaner for databasen til å oppdatere databasestatistikk på innholdsdatabaser som ligger i Microsoft SQL Server. Kunder bør ikke stole bare på SharePoint-basert database vedlikeholdsjobber til å utføre disse oppgavene. Hvis du vil ha mer informasjon, se Gode fremgangsmåter for SQL Server i en SharePoint-serverfarm.
Symptom
Når databasen statistikk blir utdatert, kan SharePoint Server-installasjoner oppleve ett eller flere av følgende symptomer:
  • Treg lasting ganger og redusert ytelse som kan generere en HTTP 500-feil når du åpner en side på området
  • Lavere ytelse som genererer feilmeldinger for eksempel følgende:

    Tjenesten er utilgjengelig

    Ukjent SQL-unntak 53

    Serverfeil i applikasjon / Runtime Error
  • Preforming Søk kravlesøker forårsaker uventet ytelsen i SQL Server, database låsing og blokkerer
  • Langvarige tidtakerjobber for eksempel "Microsoft SharePoint Foundation behandling av bruksdata" jobbene som gradvis lengre tid å fullføre under hver gjentakelse
  • Når du åpner et SharePoint-område, og en feilmelding som ligner på følgende:

    Uventet System.Web.HttpException: Forespørselen ble tidsavbrutt
  • Område til å gjengi tidsavbrudd når du laster inn navigering, og følgende feilmelding:

    PortalSiteMapProvider kunne ikke hente barn for noden
  • Høy CPU-bruk på serveren som kjører SQL Server når den behandler SharePoint-spørringer
Årsak
Disse problemene kan forårsakes av utdaterte databasestatistikk. SharePoint kjører daglig en tidtakerjobb for å oppdatere databasestatistikk ved å bruke proc_updatestatistics SQL-prosedyre. Imidlertid av ulike årsaker, denne tidtakerjobben kan ikke fullføres, eller kan ikke oppdatere alle tabeller konsekvent. For eksempel hvis en sikkerhetskopi kjører mot innholdsdatabasen fra SQL Server samtidig med tidtakerjobben for SharePoint, fortsette jobben ikke.

Når SharePoint-tidtakerjobb som oppdaterer statistikk er fullført, kan være followings hendelser skrevet til ULS-logger:
  • e9bf "Det oppstod en feil under oppdatering av statistikk i databasen {0}"
  • cm1y "oppdatere statistikken i databasen {0}"
  • dbl2 "hopper over statistikk oppdatering av databasen {0} fordi det er status er {1}"
  • cm1x "oppdatere statistikken i alle databaser på {0}"
Hvis disse betingelsene ikke overvåkes nøye, og hvis det ikke utføres korrigerende handlinger, statistikk for databasen blir utdatert, og til slutt oppstår ytelsesproblemer for SharePoint.
Løsning
Hvis du vil forhindre at disse symptomene og potensielle nettet, skal vedlikeholdsplaner for SQL Server implementeres for å holde SharePoint innholdsdatabase statistikken oppdatert ved hjelp av FULLSCAN. Hvis du vil ha mer informasjon, se Indeks-statistikk.

Ved implementering av SQL Server Vedlikehold planen til å oppdatere statistikken på SharePoint-databaser, er det ikke nødvendig å deaktivere jobben fra SharePoint. Men fordi disse vedlikeholdsoppgaver utfører lignende funksjoner fra begge steder, er det tillatt å deaktivere tidtakerjobben fra SharePoint-farmen. Hvis du vil ha mer informasjon om hvordan du administrerer oppdateringsjobben indeks fra SharePoint Server, kan du se Databaser som brukes av SharePoint har indeksstatistikk (SharePoint 2013).
Mer informasjon
Oppdatering av statistikk for SharePoint-innholdsdatabaser, er ved hjelp av alternativet FULLSCAN daglig fra SQL Server anbefale beste praksis. Hvis du vil ha mer informasjon, se Gode fremgangsmåter for SQL Server i en SharePoint-serverfarm og Databasevedlikehold for SharePoint Foundation 2010.

Imidlertid Hvis SharePoint-farmen har ytelsesproblemer på grunn av utdaterte STATS, kan informasjonen nedenfor brukes som en engangs skadereduksjon trinn for å unngå dette problemet.

Hvis du vil vise informasjon om statistikk fra en bestemt database, kan du kjøre følgende spørring:
-- Checking the DB Statsselect a.id as 'ObjectID', isnull(a.name,'Heap') as 'IndexName', b.name as 'TableName', stats_date (id,indid) as stats_last_updated_time from sys.sysindexes as a inner join sys.objects as b on a.id = b.object_id where b.type = 'U'
Hvis du vil ha mer informasjon om databasen statistikk gjennomgang, se DBCC SHOW_STATISTICS.

Hvis du vil oppdatere databasestatistikk på en enkelt database som bruker FULLSCAN alternativet, kan du kjøre følgende spørring:
-- Update DB StatsEXEC sp_MSforeachtable 'UPDATE STATISTICS ? WITH FULLSCAN'
Viktig merknad Alternativet "sp_MSforeachtable" er en udokumentert prosedyre som er levert "som den er" og bør bare brukes til å redusere umiddelbare problemet. Vi anbefaler ikke at du bruker denne prosedyren som en del av en plan for regelmessig vedlikehold. I stedet, se vårOppdater STATISTIKK (Transact-SQL) dokumentasjon om hvordan du implementerer en plan for å Oppdater STATISTIKK, ved hjelp av alternativet for FULLSCAN.

Avhengig av hvor gammel statistikk for databasen har blitt, må du kanskje tømme hurtigbufferen spørringen planen ved å kjøre den DBCC FREEPROCCACHE Når du har oppdatert databasestatistikk-kommando. Du vil finne syntaksen og argumentene for denne fremgangsmåten i DBCC FREEPROCCACHE (Transact-SQL). Dette sørger for at nye spørringer bruker optimal utførelsesplanen når statistikk for databasen er oppdatert. For eksempel kan du se følgende spørring:
-- Remove all elements from the plan cacheDBCC FREEPROCCACHE
Viktig merknad Kjøre DBCC FREEPROCCACHE-kommandoen tømmer hurtigbufferen for alle spørringsplaner i i SQL-forekomsten. Denne kommandoen må være forstått før du kjører den under produksjonstimer.

Hvis den DBCC FREEPROCCACHE kommandoen ble ikke utført når du har oppdatert den gamle databasen statistikken, spørringer med ineffektiv kjøring av planer fortsatt finnes i hurtigbufferen, og brukes. Hvis dette er tilfellet, kan du tvinge en ny kompilering på den angitte lagrede prosedyren ved hjelp av den lagrede prosedyren (se sp_recompile (Transact-SQL)). For eksempel kan du se følgende spørring:
USE SP2013_Content_DBGOsp_recompile proc_getwebnavstruct
Kjører densp_recompile -kommandoen sammen med prosedyre, funksjon eller tabellen parametere mot et enkelt element i hurtigbufferen for fjerning uten å påvirke forekomsten.

Advarsel: Denne artikkelen er autooversatt

Egenskaper

Artikkel-ID: 3103194 – Forrige gjennomgang: 10/10/2015 19:40:00 – Revisjon: 1.0

Microsoft SharePoint Server 2013, Microsoft SharePoint Server 2010, Microsoft Office SharePoint Server 2007

  • kbqfe kbsurveynew kbexpertisebeginner kbbug kbfix kbtshoot kbmt KB3103194 KbMtno
Tilbakemelding