Sign in with Microsoft
New to Microsoft? Create an account.

Firma Microsoft rozpowszechnia poprawki programu Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2 jako jednego pliku do pobrania. Ponieważ poprawki są kumulatywne, każda nowa wersja zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej wersji programu SQL Server 2008 lub SQL Server 2008 R2 z poprawkami.

Symptomy

Załóżmy, że masz nazwane wystąpienie w programie Microsoft SQL Server 2008 lub Microsoft SQL Server 2008 R2 zainstalowanym na serwerze. Po uruchomieniu zapytania typowego wyrażenia tabeli (CTE), w którym jest używana funkcja FREETEXTTABLE lub CONTAINSTABLE w widoku indeksowanym, kwerenda CTE kończy się niepowodzeniem, a wystąpi wyjątek dotyczący naruszenia zasad dostępu. Ponadto wyświetlany zostanie następujący komunikat o błędzie:

Msg 0, poziom 11, stan 0, wiersz 0 w bieżącym poleceniu wystąpił poważny błąd. Ewentualne wyniki należy odrzucić.

Na przykład podczas uruchamiania następującego kodu wystąpi wyjątek dotyczący naruszenia zasad dostępu:

WITH CTE AS  (select [Key] as Key, [Rank] from FREETEXTTABLE(< indexed view name >, *, '< search string >'))  SELECT * FROM CTE  

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 z dodatkiem Service Pack 2

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

2527180 Pakiet aktualizacji zbiorczej 4 dla programu SQL Server 2008 z dodatkiem Service Pack 2Uwaga 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. Firma Microsoft zaleca 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:

2402659 Kompilacje programu SQL Server 2008 wydane po opublikowaniu dodatku Service Pack 2 dla programu SQL Server 2008 Poprawki programu Microsoft SQL Server 2008 są tworzone dla określonych pakietów Service Pack programu SQL Server. Musisz zastosować poprawkę dodatku Service Pack 2 dla programu SQL Server 2008 do instalacji dodatku Service Pack 2 do programu SQL Server 2008. Wszystkie poprawki podane w dodatku Service Pack programu SQL Server są domyślnie zawarte w następnym dodatku Service Pack dla programu SQL Server.

SQL Server 2008 R2

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

2345451 Pakiet aktualizacji zbiorczej 4 dla programu SQL Server 2008 R2 Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń dołączone do poprzedniej wersji poprawki SQL Server 2008 R2. 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:

981356 Kompilacje programu SQL Server 2008 R2, które zostały wydane po opublikowaniu programu SQL Server 2008 R2

Obejście

Aby obejść ten problem, użyj jednej z następujących metod:

  • Aby zapisać wyniki pośrednie, użyj widoku, tabeli tymczasowej lub zmiennej tabeli zamiast wyrażenia CTE.

  • Zaktualizuj zapytanie, aby użyć tabeli pochodnej lub podzapytania. Eliminuje to konieczność używania CTE.

Stan

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

Informacje

Aby uzyskać więcej informacji na temat używania typowych wyrażeń tabeli, odwiedź następującą witrynę firmy Microsoft w sieci Web:

Jak używać typowych wyrażeń tabeliAby uzyskać więcej informacji na temat funkcji FREETEXTTABLE (Transact-SQL), odwiedź następującą witrynę firmy Microsoft w sieci Web:

FREETEXTTABLE (Transact-SQL)Aby uzyskać więcej informacji na temat funkcji CONTAINSTABLE (Transact-SQL), odwiedź następującą witrynę firmy Microsoft w sieci Web:

CONTAINSTABLE (Transact-SQL)Aby uzyskać więcej informacji na temat tworzenia widoków indeksowanych, odwiedź następującą witrynę firmy Microsoft w sieci Web:

Jak tworzyć widoki indeksowaneAby 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:

822499Nowy 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

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×