Microsoft distribuerar Microsoft SQL Server 2005, Microsoft SQL Server 2008 och Microsoft SQL Server 2008 R2-korrigeringar som en nedladdningsbar fil. Eftersom korrigeringarna är kumulativa innehåller varje ny utgåva alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare SQL Server 2005, SQL Server 2008 eller SQL Server 2008 R2-utgåvan.
Symptom
Tänk dig följande scenario:
- Du aktiverar alternativet ALLOW_SNAPSHOT_ISOLATION i en Microsoft SQL Server 2005, en Microsoft SQL Server 2008 eller en Microsoft SQL Server 2008 R2-databas.
- Du utför en versionshanteringsåtgärd på en tabell. Du kan till exempel uppdatera tabellen.
- Du inaktiverar isoleringsnivån för ögonblicksbilder i databasen.
- Du uppdaterar en kolumn med indexnyckel i en post som innehåller information om versionshantering.
- Du återskapar onlineindexet i tabellen.
I det här scenariot uppstår ett kontrollfel och du får följande meddelanden i felloggen för SQL Server:
Obs
<Datum><tid><spid> * BEGIN STACK DUMP:
<Datum></tid><spid> *<Datum></tid><spid>
<Datum></tid><spid> *
<Datum></tid><spid> * Plats: AppendOnlyVerStoreMgr.cpp:731
<Datum></tid><spid> * Uttryck: 0
<Datum></tid><spid> * SPID:<spid>
<Datum></tid><spid> * Process-ID: 6328
<Datum></tid><spid> * Beskrivning: Det går inte att hitta versionsposten och sidan är inte allokerad. Status = 3
<Datum></tid><spid> *
<Datum></tid><spid> * Indatabuffert 170 byte –
<Datum></tid><spid> * ALTER INDEX <Tabellnamn> ON <Index> REBUILD WITH(O
<Datum></tid><spid> * NLINE = ON)
Orsak
Det här problemet beror på att versionsinformationen för en ny post för indexnyckeln kopieras från den gamla posten för indexnyckeln. Felet uppstår därför när indexet återskapas.
Lösning
Information om kumulativ uppdatering
SQL Server 2008 R2
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 5. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2008 R2 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2438347 kumulativt uppdateringspaket 5 för SQL Server 2008 R2 Obs! Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008 R2-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
981356 De SQL Server 2008 R2-versionerna som släpptes efter att SQL Server 2008 R2 släpptes
SQL Server 2005 Service Pack 4
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1 för SQL Server 2005 Service Pack 4. Om du vill veta mer om det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2464079 Kumulativ uppdatering paket 1 för SQL Server 2005 Service Pack 4Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2005-korrigeringsversionen. Microsoft rekommenderar att du installerar den senaste korrigeringsversionen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
2485757 Snabbkorrigeringar för SQL Server 2005 som släpptes efter att SQL Server 2005 Service Pack 4 släpptes Snabbkorrigeringar för Microsoft SQL Server 2005 skapas för specifika SQL Server Service Pack-versioner. Du måste använda en snabbkorrigering för SQL Server 2005 Service Pack 4 på en installation av SQL Server 2005 Service Pack 4. Som standard ingår snabbkorrigeringar i en SQL Server Service Pack i nästa SQL Server Service Pack.
SQL Server 2005 SP3
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 12. Om du vill veta mer om hur du hämtar det här kumulativa uppdateringspaketet för SQL Server 2005 SP3 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2345449 Kumulativt uppdateringspaket 12 för SQL Server 2005 Service Pack 3 Obs! Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2005 SP3-korrigeringsversionen. Vi rekommenderar att du installerar den senaste snabbkorrigeringen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
960598 De SQL Server 2005-versionerna som släpptes efter att Service Pack 3 SQL Server 2005 släpptes
SQL Server 2008 Service Pack 1
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 11 för SQL Server 2008 Service Pack 1. Om du vill veta mer om det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2413738 Kumulativt uppdateringspaket 11 för SQL Server 2008 Service Pack 1Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008-korrigeringsversionen. Microsoft rekommenderar att du installerar den senaste korrigeringsversionen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
970365 Snabbkorrigeringar för SQL Server 2008 som släpptes efter att SQL Server 2008 Service Pack 1 släpptesSnabbkorrigeringar för Microsoft SQL Server 2008 skapas för specifika SQL Server Service Pack-versioner. Du måste använda en snabbkorrigering för SQL Server 2008 Service Pack 1 på en installation av SQL Server 2008 Service Pack 1. Som standard ingår snabbkorrigeringar i en SQL Server Service Pack i nästa SQL Server Service Pack.
SQL Server 2008 Service Pack 2
Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 2 för SQL Server 2008 Service Pack 2. Om du vill veta mer om det här kumulativa uppdateringspaketet klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2467239 Kumulativ uppdatering paket 2 för SQL Server 2008 Service Pack 2Note Eftersom versionerna är kumulativa innehåller varje ny korrigeringsversion alla snabbkorrigeringar och säkerhetskorrigeringar som ingick i den tidigare SQL Server 2008-korrigeringsversionen. Microsoft rekommenderar att du installerar den senaste korrigeringsversionen som innehåller den här snabbkorrigeringen. Mer information om hur du åtgärdar det här problemet får du om du klickar på följande artikelnummer i Microsoft Knowledge Base:
2402659 Snabbkorrigeringar för SQL Server 2008 som släpptes efter att SQL Server 2008 Service Pack 2 släpptes Snabbkorrigeringar för Microsoft SQL Server 2008 skapas för specifika SQL Server Service Pack-versioner. Du måste använda en snabbkorrigering för SQL Server 2008 Service Pack 2 på en installation av SQL Server 2008 Service Pack 2. Som standard ingår snabbkorrigeringar i en SQL Server Service Pack i nästa SQL Server Service Pack.
Lösning
Undvik det här problemet genom att återskapa indexet för databasen genom att ange alternativet ONLINE till AV i frågan.
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Mer information om indexåtgärder online finns på följande Microsoft-webbplats:
Allmän information om indexåtgärder
Mer information om indexåtgärder online finns på följande Microsoft-webbplats: