KB2413430 — POPRAWKA: Podczas odbudowywania indeksu przy użyciu opcji ONLINE w programach SQL Server 2005, SQL Server 2008 lub SQL Server 2008 R2 pojawia się komunikat o błędzie "Nie można znaleźć rekordu wersji, a strona nie jest przydzielona"

Dotyczy
Microsoft SQL Server 2005 Enterprise Edition SQL Server 2008 Enterprise SQL Server 2008 R2 Enterprise

Firma Microsoft dystrybuuje poprawki dla programów Microsoft SQL Server 2005, Microsoft SQL Server 2008 i Microsoft SQL Server 2008 R2 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każda nowa wersja zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji programu SQL Server 2005, SQL Server 2008 lub SQL Server 2008 R2.

Objawy

Rozważmy następujący scenariusz:

  • Opcję ALLOW_SNAPSHOT_ISOLATION włącza się w bazie danych programu Microsoft SQL Server 2005, Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2.
  • Operacja przechowywania wersji jest wykonywana na tabeli. Na przykład możesz zaktualizować tabelę.
  • Wyłączono poziom izolacji migawki w bazie danych.
  • Kolumna klucza indeksu została zaktualizowana w rekordzie zawierającym informacje o przechowywaniu wersji.
  • Odbudowujesz indeks online w tabeli.

W takim scenariuszu występuje błąd potwierdzenia, a w dzienniku błędów programu SQL Server są wyświetlane następujące komunikaty:

Uwaga

<Data><Godzina><> podgląd * ROZPOCZNIJ ZRZUT STOSU:
<Data><Godzina<>podgląd> *<Data><Godzina><podgląd>
<Data><i godzina><> szpieg *
<Data><Godzina><> szpieg * Lokalizacja: AppendOnlyVerStoreMgr.cpp:731
<Data><Godzina><spid> * Wyrażenie: 0
<Data><Godzina><spid> * SPID:<spid>
<Data><Godzina><> podgląd * Identyfikator procesu: 6328
<Data><i godzina><> podgląd * Opis: Nie można zlokalizować rekordu wersji, a strona nie jest przydzielona. Stan = 3
<Data><i godzina><> szpieg *
<Data><Godzina><spid> * Bufor wejściowy 170 bajtów -
<Data><Godzina>>< podgląd * ALTER INDEX <Nazwa> tabeli ON Indeks> ODBUDUJ <Z(O
<Data><Godzina><spid> * NLINE = ON)

      

Przyczyna

Ten problem występuje, ponieważ informacje o przechowywaniu wersji nowego rekordu klucza indeksu są kopiowane ze starego rekordu klucza indeksu. Dlatego błąd występuje podczas odbudowywania indeksu.

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 R2

                
Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 5. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2438347 Pakiet 5 aktualizacji zbiorczych dla SQL Server 2008 R2 Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

981356 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2

Dodatek Service Pack 4 dla programu SQL Server 2005

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 1 dla programu SQL Server 2005 z dodatkiem Service Pack 4. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2464079 Pakiet aktualizacji zbiorczej 1 dla dodatku Service Pack 4 dla systemu SQL Server 2005Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji poprawki SQL Server 2005. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2485757 Kompilacje SQL Server 2005 wydane po wydaniu dodatku Service Pack 4 SQL Server 2005 Poprawki Microsoft SQL Server 2005 są tworzone dla określonych SQL Server dodatków Service Pack. Należy zastosować poprawkę dodatku Service Pack 4 dla programu SQL Server 2005 do instalacji dodatku Service Pack 4 dla programu SQL Server 2005. Domyślnie każda poprawka dostępna w dodatku Service Pack dla programu SQL Server jest uwzględniona w następnym dodatku Service Pack dla programu SQL Server.

SQL Server 2005 z dodatkiem SP3

Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 12. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2005 z dodatkiem SP3, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2345449 Pakiet aktualizacji zbiorczych 12 dla dodatku Service Pack 3 SQL Server 2005 Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji poprawki dodatku SP3 dla SQL Server 2005. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

960598 Kompilacje SQL Server 2005 wydane po wydaniu dodatku Service Pack 3 SQL Server 2005

SQL Server 2008 z dodatkiem Service Pack 1

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 11 dla dodatku Service Pack 1 dla programu SQL Server 2008. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2413738 Pakiet aktualizacji zbiorczej 11 dla dodatku Service Pack 1 SQL Server 2008Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń, które były zawarte w poprzedniej wersji poprawki SQL Server 2008. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

970365 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 1 SQL Server 2008 Poprawki Microsoft SQL Server 2008 są tworzone dla określonych dodatków Service Pack SQL Server. Należy zastosować poprawkę dodatku Service Pack 1 dla programu SQL Server 2008 do instalacji dodatku Service Pack 1 dla programu SQL Server 2008. Domyślnie każda poprawka dostępna w dodatku Service Pack dla programu SQL Server jest uwzględniona w następnym dodatku Service Pack dla programu SQL Server.

Dodatek Service Pack 2 dla programu SQL Server 2008

Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 2 dla dodatku Service Pack 2 dla programu SQL Server 2008. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2467239 Pakiet aktualizacji zbiorczej 2 dla dodatku Service Pack 2 SQL Server 2008Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek SQL Server 2008. Firma Microsoft zaleca rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:

2402659 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 2 SQL Server 2008 Poprawki Microsoft SQL Server 2008 są tworzone dla określonych SQL Server dodatków Service Pack. Należy zastosować poprawkę dodatku Service Pack 2 dla programu SQL Server 2008 do instalacji dodatku Service Pack 2 dla programu SQL Server 2008. Domyślnie każda poprawka dostępna w dodatku Service Pack dla programu SQL Server jest uwzględniona w następnym dodatku Service Pack dla programu SQL Server.

Obejście

Aby obejść ten problem, odbuduj indeks tej bazy danych, ustawiając w zapytaniu dla opcji ONLINE wartość WYŁ.

Stan

Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.

Źródła informacji

Aby uzyskać więcej informacji o operacjach indeksowania w trybie online, odwiedź następującą witrynę firmy Microsoft w sieci Web:

Ogólne informacje o operacjach indeksowania

Aby uzyskać więcej informacji o szczegółach operacji indeksowania w trybie online, odwiedź następującą witrynę firmy Microsoft w sieci Web:

Szczegółowy opis operacji indeksu w trybie online