KB2421014-FIX: fel meddelandet "ett allvarligt fel inträffade för kommandot" visas när du använder funktionen Freetexttable eller Containstable i en indexerad vy i en CTE fråga i SQL Server 2008 eller i SQL Server 2008 R2

Gäller för: SQL Server 2008SQL Server 2008 R2SQL Server 2008 Service Pack 2

Microsoft distribuerar Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2-korrigeringar som en nedladdnings bar fil. Eftersom de här korrigeringarna är kumulativa innehåller alla nya versioner alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 eller SQL Server 2008 R2.

Symptom


Anta att du har en namngiven instans i Microsoft SQL Server 2008 eller i Microsoft SQL Server 2008 R2 på en server. När du kör en CTE-fråga (vanliga tabell uttryck) som använder funktionen Freetexttable eller Containstable i en indexerad vy Miss lyckas frågan CTE och ett undantags fel i Access. Dessutom visas följande felmeddelande:
Meddelande 0, nivå 11, State 0, rad 0 ett allvarligt fel inträffade för det aktuella kommandot. Eventuella resultat ska ignoreras.
Problemet med åtkomst brott visas till exempel när du kör följande kod:
WITH CTE AS  (select [Key] as Key, [Rank] from FREETEXTTABLE(< indexed view name >, *, '< search string >'))  SELECT * FROM CTE  

Lösning


Kumulativ uppdaterings information

SQL Server 2008 Service Pack 2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 4 för SQL Server 2008 Service Pack 2. Om du vill veta mer om det här kumulativa uppdaterings paketet klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2527180 Kumulativt uppdaterings paket 4 för SQL Server 2008 Service Pack 2
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008. Microsoft rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2402659 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 2 släpptes
Snabb korrigeringar för Microsoft SQL Server 2008 skapas för specifika SQL Server Service Pack. Du måste använda en SQL Server 2008 Service Pack 2 Hotfix för en installation av SQL Server 2008 Service Pack 2. Som standard ingår alla snabb korrigeringar som tillhandahålls i ett Service Pack för SQL Server i nästa SQL Server Service Pack.

SQL Server 2008 R2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 4. Om du vill veta mer om hur du hämtar det här kumulativa uppdaterings paketet för SQL Server 2008 R2 klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
2345451 Kumulativt uppdaterings paket 4 för SQL Server 2008 R2
Obs! Eftersom build-versionerna är kumulativa innehåller varje ny korrigerings utgåva alla snabb korrigeringar och alla säkerhets korrigeringar som ingick med föregående version av SQL Server 2008 R2. Vi rekommenderar att du använder den senaste korrigerings versionen som innehåller den här snabb korrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
981356 SQL Server 2008 R2-versioner som släpptes efter SQL Server 2008 R2 släpptes

Lösning


Använd någon av följande metoder för att lösa problemet:
  • Använd en vy, en tillfällig tabell eller en tabell variabel i stället för en CTE för att lagra de mellanliggande resultaten.
  • Uppdatera frågan för att använda en härledd tabell eller under fråga. Detta eliminerar behovet att använda en CTE.

Status


Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".

Referenser


Mer information om hur du använder vanliga tabell uttryck finns på följande Microsoft-webbplats:Mer information om funktionen Freetexttable (Transact-SQL) finns på följande Microsoft-webbplats: Mer information om funktionen Containstable (Transact-SQL) finns på följande Microsoft-webbplats: Mer information om hur du skapar indexerade vyer finns på följande Microsoft-webbplats: Om du vill veta mer om den stegvisa underhålls modellen för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
935897 En stegvis underhålls modell är tillgänglig från SQL Server-teamet för att leverera snabb korrigeringar för rapporterade problem
Om du vill veta mer om ett namn schema för uppdateringar för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
822499 Nytt namn schema för program uppdaterings paket för Microsoft SQL Server
Mer information om program uppdaterings terminologi får du om du klickar på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
824684 Beskrivning av den standard terminologi som används för att beskriva Microsoft-programuppdateringar