Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Firma Microsoft rozpowszechnia poprawki w programie Microsoft SQL Server 2008 w postaci jednego pliku do pobrania. Ponieważ poprawki są kumulatywne, każdy nowy pakiet zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2008.

Symptomy

Symptom 1Podczas przeprowadzania populacji dużego indeksu pełnotekstowego w programie Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2 może zostać wyświetlony komunikat o błędzie w pliku dziennika pełnotekstowego. Liczba określająca, ile razy ten komunikat o błędzie jest rejestrowany, zależy od rozmiaru wsadu pomniejszonego o 1. Na przykład na komputerze 32-bitowym rozmiar wsadu wynosi 1 000, w związku z czym błąd jest rejestrowany w 999. Komunikat o błędzie jest podobny do następującego:

Błąd "0x8004cb04: Lista wyrazów w pamięci jest uszkodzona. Wynika to z nieprawidłowego filtru, narzędzia dzielącego wyrazy lub innego składnika indeksowania. podczas wypełniania indeksu pełnotekstowego w tabeli lub widoku indeksowanego [smarsh] Wystąpił błąd. [dbo]. [ArchiveMsgs] "(tabela lub widok indeksowany o IDENTYFIKATORze" 160719625 ", identyfikator bazy danych" 7 "), wartość klucza pełnotekstowego" 291484087 ". Zostanie podjęta próba ponownego indeksowania.

Po wyświetleniu tego komunikatu o błędzie może również zostać wyświetlony następujący komunikat o błędzie dotyczący rozmiaru wsadu pomniejszonego o 1:

<Data> <godzina> podczas wypełniania indeksu pełnotekstowego w tabeli lub widoku indeksowanego "[smarsh] Wystąpił błąd spid28s" 0x80040e28 ". [dbo]. [ArchiveMsgs] "(tabela lub widok indeksowany o IDENTYFIKATORze" 160719625 ", identyfikator bazy danych" 7 "), wartość klucza pełnotekstowego" 199598211 ". Zostanie podjęta próba ponownego indeksowania.

Po wyświetleniu tego komunikatu o błędzie może również zostać wyświetlony następujący komunikat o błędzie dotyczący rozmiaru wsadu pomniejszonego o 1:

<Data> <godzina> błąd spid26s ' 0x80043630: upłynął limit czasu procesu MSFTEFD demona filtru z nieznanej przyczyny. Może to wskazywać na błąd w filtrze, programie dzielącym na wyrazy lub programie obsługi protokołu. Wystąpił problem podczas wypełniania indeksu pełnotekstowego w tabeli lub widoku indeksowanego [smarsh]. [dbo]. [ArchiveMsgs] "(tabela lub widok indeksowany o IDENTYFIKATORze" 160719625 ", identyfikator bazy danych" 7 "), wartość klucza pełnotekstowego" 14304130 ". Zostanie podjęta próba ponownego indeksowania.

Symptom 2Ponadto może się okazać, że proces FDHOST. exe działa niepoprawnie. Podczas próby uruchomienia zapytania pełnotekstowego lub wykonania wypełnienia pełnotekstowego jest wyświetlany następujący komunikat z powrotem do klienta.

Msg 30053, Level 16, State 102, Przekroczono limit czasu dzielenia 1Word wiersza dla ciągu zapytania pełnotekstowego. Może się tak zdarzyć, jeśli narzędzie dzielące wyrazy zajęło dłuższy czas przetwarzania ciągu zapytania pełnotekstowego lub jeśli na serwerze jest uruchomiona duża liczba zapytań. Spróbuj ponownie uruchomić zapytanie pod jaśniejszym obciążeniem.

Po sprawdzeniu dzienników programu SQLFT * dla tego wykazu jest wyświetlany następujący komunikat o błędzie:

Wystąpił błąd "0x80004005" podczas wypełniania indeksu pełnotekstowego w tabeli lub widoku indeksowanego [dbname]. [dbo]. [TABLEname] (identyfikator tabeli lub widoku indeksowanego: "1204001724"; Identyfikator bazy danych: 5), wartość klucza pełnotekstowego "4". Zostanie podjęta próba ponownego indeksowania.

Podczas badania dziennika błędów SQL błąd jest wyświetlany następujący komunikat o błędzie:

Błąd: 30089; ważność: 17; stan: 1. proces hosta demona filtru pełnotekstowego (FDHost) został zatrzymany w nieprawidłowy sposób. Taka sytuacja może wystąpić w przypadku niepoprawnego skonfigurowania lub nieprawidłowego działania składnika językowego, takiego jak narzędzie dzielące wyrazy, programy szukające rdzeni lub filtr, spowodowało nieodwracalny błąd podczas indeksowania pełnotekstowego lub przetwarzania zapytań. Proces zostanie automatycznie uruchomiony ponownie.

Przyczyna

Ten problem występuje z powodu błędu w komunikacji między procesem sqlservr. exe a procesem fdhost. exe. Gdy partie są wysyłane z procesu SqlServer. exe do procesu fdhost. exe, czasami pamięć udostępniona (OSM), która jest pamięcią współużytkowaną od sqlservr. exe do fdhost. exe, ma za mało miejsca, aby zmieścić następną kolumnę dokumentu. W takim przypadku proces sqlservr. exe wysyła wiadomość w celu powiadomienia procesu fdhost. exe o przetworzeniu wszystkich istniejących danych w OSM. Podczas przetwarzania danych przez proces fdhost. exe, przychodząca pamięć współdzielona (ISM), która jest pamięcią współużytkowaną z programu fdhost. exe do pliku sqlservr. exe, może zostać zapełniona. W takiej sytuacji proces fdhost. exe wysyła komunikat "przewiń do tyłu" do procesu sqlservr. exe. Ten komunikat żąda ponownego przesłania ostatniego dokumentu z pierwszej kolumny przez proces sqlservr. exe. Jeśli jednak proces sqlservr. exe zacznie ponownie wysłać dokument, zaczyna się od kolumny 2 zamiast kolumny 1. Spowoduje to wyświetlenie komunikatów o błędach wymienionych w sekcji "Symptomy".

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 R2 z dodatkiem Service Pack 2

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 3. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego zbiorczego pakietu aktualizacji dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2754552 Pakiet aktualizacji zbiorczej 3 dla programu SQL Server 2008 R2 z dodatkiem Service Pack 2 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które uwzględniono w poprzedniej wersji poprawki do programu SQL Server 2008 R2 z dodatkiem Service Pack 2. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

2730301 Kompilacja programu SQL Server 2008 R2 opublikowanych po wydaniu programu SQL Server 2008 R2 z dodatkiem Service Pack 2

Program SQL Server 2008

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 4 dla wersji programu SQL Server 2008. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

963036 Pakiet aktualizacji zbiorczej 4 dla programu SQL Server 2008Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2008. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

956909 Kompilacje programu SQL Server 2008 wydane po wydaniu programu SQL Server 2008

SQL Server 2008 z dodatkiem Service Pack 1

Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 1 dla programu SQL Server 2008 z dodatkiem Service Pack 1. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

969099 Pakiet aktualizacji zbiorczej 1 dla programu SQL Server 2008 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2008. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

970365 Kompilacje programu SQL Server 2008 wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2008

Obejście

Aby obejść ten problem, Zwiększ rozmiar ISM. Aby to zrobić, skonfiguruj zmienną ISM_Size przy użyciu sp_fulltext_service procedury składowanej. Aby wyświetlić bieżącą wartość:sp_fulltext_service "ism_size" , aby zmienić wartość na 16:sp_fulltext_service "ism_size", @value = 16Uwaga: aby ta zmiana została wprowadzona, należy ponownie uruchomić usługę SQL Server.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".

Więcej informacji

Ten problem nie uniemożliwia ukończenia populacji. Indeks pełnotekstowy zawiera wbudowaną logikę ponawiania próby, która będzie kontynuowała ponawianie nieudanych operacji do momentu jego pomyślnego zakończenia. Można więc bezpiecznie zignorować komunikaty o błędach. Jedynymi znanymi ujemnymi negatywnymi skutkami ubocznymi jest to, że ukończenie całej populacji może potrwać dłużej, a wzrost dziennika pełnotekstowego znacznie wzrasta w celu raportowania błędu. Logika ponawiania w kodzie źródłowym powoduje poprawność populacji bez uszkodzenia indeksu, mimo komunikatu o błędzie, który wskazuje możliwe uszkodzenie. Jeśli korzystasz z opisanego powyżej symptomu #2 , zapytania wyszukiwania pełnotekstowego lub populacja nie będą działać, ponieważ składnik FDHOST nie jest w prawidłowym stanie do działania i trzeba będzie zastosować tę aktualizację zbiorczą.

Więcej informacji na temat pakietu aktualizacji zbiorczej 4 dla programu SQL Server 2008

Aby uzyskać więcej informacji na temat zmian plików oraz informacje na temat warunków wstępnych dotyczących stosowania zbiorczego pakietu aktualizacji zawierającego poprawkę opisaną w tym artykule z bazy wiedzy Microsoft Knowledge Base, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

963036 Pakiet aktualizacji zbiorczej 4 dla programu SQL Server 2008

Więcej informacji na temat pakietu aktualizacji zbiorczej 1 dla programu SQL Server 2008 z dodatkiem Service Pack 1

Aby uzyskać więcej informacji na temat zmian plików oraz informacje na temat warunków wstępnych dotyczących stosowania zbiorczego pakietu aktualizacji zawierającego poprawkę opisaną w tym artykule z bazy wiedzy Microsoft Knowledge Base, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

969099 Pakiet aktualizacji zbiorczej 1 dla programu SQL Server 2008 z dodatkiem Service Pack 1

Informacje

Aby uzyskać więcej informacji na temat list kompilacji dostępnych po wydaniu programu SQL Server 2008, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

956909 Kompilacje programu SQL Server 2008 wydane po wydaniu programu SQL Server 2008Aby uzyskać więcej informacji dotyczących modelu obsługi przyrostowej dla programu SQL Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

935897 Model obsługi przyrostowej jest dostępny w zespole programu SQL Server w celu dostarczenia poprawek dotyczących zgłaszanych problemówAby uzyskać więcej informacji na temat schematu nazewnictwa dla aktualizacji programu SQL Server, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

822499 Nowy schemat nazewnictwa dla pakietów aktualizacji oprogramowania Microsoft SQL ServerAby uzyskać więcej informacji o terminologii dotyczącej aktualizacji oprogramowania, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×