KB2421014 – RETT: Fejlmeddelelsen "Der opstod en alvorlig fejl ved den aktuelle kommando", når du bruger funktionen Freetexttable eller Containstable i en indekseret visning i en CTE-forespørgsel i SQL Server 2008 eller i SQL Server 2008 R2

Gælder for
SQL Server 2008 SQL Server 2008 R2 SQL Server 2008 Service Pack 2

Microsoft distribuerer rettelser til Microsoft SQL Server 2008 eller Microsoft SQL Server 2008 R2 som én fil, der kan downloades. Da rettelserne er kumulative, indeholder hver ny version alle de hotfixes og alle de sikkerhedsrettelser, der var inkluderet i den forrige version af SQL Server 2008- eller SQL Server 2008 R2-rettelsen.

Symptomer

Antag, at du har en navngivet forekomst i Microsoft SQL Server 2008 eller i Microsoft SQL Server 2008 R2 installeret på en server. Når du kører en CTE-forespørgsel (Common Table Expression), der bruger funktionen Freetexttable eller Containstable på en indekseret visning, mislykkes CTE-forespørgslen, og der opstår en undtagelse for adgangsovertrædelse. Desuden vises følgende fejlmeddelelse:

Bemærk

Msg 0, niveau 11, stat 0, linje 0
Der opstod en alvorlig fejl på den aktuelle kommando. Eventuelle resultater skal kasseres.

Undtagelsen for adgangsovertrædelse opstår f.eks., når du kører følgende kode:

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

Løsning

Oplysninger om kumulativ opdatering

SQL Server 2008 Service Pack 2

Løsningen på dette problem blev først udgivet i Cumulative Update 4 til SQL Server 2008 Service Pack 2. Få flere oplysninger om denne samlede opdateringspakke ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2527180 Samlet opdateringspakke 4 til SQL Server 2008 Service Pack 2Note Da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den tidligere version af programrettelsen til SQL Server 2008. Microsoft anbefaler, at du overvejer at anvende den nyeste version af rettelsen, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2402659 De SQL Server 2008-builds, der blev udgivet efter SQL Server 2008 Service Pack 2 blev udgivet Microsoft SQL Server 2008-hotfixes oprettes til specifikke SQL Server servicepakker. Du skal anvende et SQL Server 2008 Service Pack 2-hotfix på en installation af SQL Server 2008 Service Pack 2. Alle hotfixes, der leveres i en SQL Server Service Pack, er som standard inkluderet i den næste SQL Server Service Pack.

SQL Server 2008 R2

Rettelsen til dette problem blev først udgivet i Cumulative Update 4. Få flere oplysninger om, hvordan du får fat i denne kumulative opdateringspakke til SQL Server 2008 R2, ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

2345451 Samlet opdatering pakke 4 til SQL Server 2008 R2 Bemærk Da builds er kumulative, indeholder hver ny rettelsesversion alle de hotfixes og alle de sikkerhedsrettelser, der fulgte med den forrige version af SQL Server 2008 R2-rettelsen. Vi anbefaler, at du overvejer at anvende den nyeste rettelsesversion, der indeholder dette hotfix. Du kan finde flere oplysninger ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

981356 De SQL Server 2008 R2-builds, der blev udgivet efter SQL Server 2008 R2 blev frigivet

Løsning

Du kan løse dette problem ved at bruge en af følgende metoder:

  • Brug en visning, en midlertidig tabel eller en tabelvariabel i stedet for en CTE til at gemme de mellemliggende resultater.
  • Opdater forespørgslen til at bruge en afledt tabel eller en underforespørgsel. Dette eliminerer behovet for at bruge en CTE.

Status

Microsoft har bekræftet, at dette er et problem i de Microsoft-produkter, der er angivet i afsnittet "Gælder for".

Referencer

Du kan finde flere oplysninger om, hvordan du bruger almindelige tabeludtryk, på følgende Microsoft-websted:

Sådan bruger du almindelige tabeludtryk Du kan finde flere oplysninger om funktionen Freetexttable (Transact-SQL) på følgende Microsoft-websted:

FREETEXTTABLE (Transact-SQL) Du kan finde flere oplysninger om funktionen Containstable (Transact-SQL) på følgende Microsoft-websted:

CONTAINSTABLE (Transact-SQL) Du kan finde flere oplysninger om oprettelse af indekserede visninger på følgende Microsoft-websted:

Sådan oprettes indekserede visninger
        
Yderligere oplysninger om Incremental Servicing Model for SQL Server finder du ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

935897 SQL Server teamet kan tilbyde en trinvis serviceringsmodel, som kan levere hotfixes til rapporterede problemer

Du kan finde flere oplysninger om navngivningsskemaet for opdateringer til SQL Server ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

822499 Nyt navngivningsskema for Microsoft SQL Server-softwareopdateringspakkerDu kan finde flere oplysninger om terminologi for softwareopdateringer ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:

824684 Beskrivelse af den standardterminologi, der bruges om Microsoft-softwareopdateringer