Korriger: Ikke-grupperte indeksskade kan oppstå når du kjører en kompleks UPDATE-setning sammen med et tips NOLOCK mot en tabell i SQL Server

Artikkeloversettelser Artikkeloversettelser
Artikkel-ID: 2878968 - Vis produkter som denne artikkelen gjelder for.
Vis alt | Skjul alt

På denne siden

Symptomer

Når du kjører en kompleks UPDATE -setning sammen med et tips NOLOCK mot en tabell i Microsoft SQL Server 2008, SQL Server 2012, SQL Server 2008 R2 eller SQL Server-2014, kan ikke-grupperte indeksen ødelegges. I tillegg logges følgende feilmelding i feilloggen for SQL Server:

Datoen>gang> spid # feil: 8646, alvorlighetsgrad: 21, tilstand: 1.
Datoen>gang> spid # kan ikke finne indeksoppføring i indeks-ID-3 av 2102402659,-tabellen i databasen 'DatabaseName>'. Den angitte indeksen er skadet, eller det er et problem med den gjeldende planen for oppdateringen. Kjøre DBCC CHECKDB eller DBCC CHECKTABLE. Hvis problemet vedvarer, kontakter du kundestøtte.
Datoen>gang> spid # ved hjelp av 'dbghelp.dll' versjon '4.0.5'
Datoen>gang> spid # ** Dump tråd - spid = 0, EC = 0x0000000BD70624C0
Datoen>gang> spid # *** stakk Dump sendes til Y:\MSSQL\MSSQL10.MSSQLSERVER\MSSQL\LOG\SQLDump0003.txt
Date>Time> spid # * *******************************************************************************
Datoen>gang> spid # *
Datoen>gang> spid # * BEGYNNE BUNKE DUMP:
Datoen>gang> spid # * datoen>gang> spid #
Datoen>gang> spid # *
Datoen>gang> spid # * CPerIndexMetaQS::ErrorAbort - indeksen kan føre til minnefeil
Datoen>gang> spid # *

Merk
du kan bruke et NOLOCK tips på kildetabellene i en setning. Du kan imidlertid bruke NOLOCK tips til mål-tabeller i en setning.

Årsak

Dette problemet oppstår fordi NOLOCK tipset gjør at spørringen skal lese feil verdier i tabellen når spørringen leser de samme verdiene flere ganger.

Løsning

Problemet ble først løst i den følgende kumulative oppdateringen av SQL Server.

Samleoppdatering 1 for SQLServer-2014

Kumulativ oppdatering 11 for SQLServer 2012

Samleoppdatering 7 for SQL Server 2012 SP1

Kumulativ oppdatering 13 for SQL Server 2008 SP3

Kumulativ oppdatering 9 for SQL Server 2008 R2 SP2

Om kumulative oppdateringer for SQL Server

Skjul dette bildetVis dette bildet
assets folding start collapsed
Hver nye kumulative oppdateringen for SQL Server inneholder alle hurtigreparasjonene og alle sikkerhetsreparasjoner som fulgte med den forrige kumulative oppdateringen. Sjekk ut de nyeste kumulative oppdateringene for SQL Server:
Skjul dette bildetVis dette bildet
assets folding end collapsed

Status

Microsoft har bekreftet at dette er et problem i Microsoft-produktene som er oppført i delen "Gjelder for".

Egenskaper

Artikkel-ID: 2878968 - Forrige gjennomgang: 22. april 2014 - Gjennomgang: 5.0
Informasjonen i denne artikkelen gjelder:
  • Microsoft SQL Server 2008 Service Pack 3 på følgende plattformer
    • Microsoft SQL Server 2008 Enterprise
    • Microsoft SQL Server 2008 Developer
    • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2014 Developer
  • Microsoft SQL Server 2014 Enterprise
  • Microsoft SQL Server 2014 Standard
Nøkkelord: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2878968 KbMtno
Maskinoversatt
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: 2878968

Gi tilbakemelding

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com