KB2344600-FIX: felet "icke-handskrivning" kan uppstå när du använder funktionen CONTAINSTABLE tillsammans med många eller och och och-predikat i SQL Server 2008 eller i SQL Server 2008 R2

Microsoft distribuerar Microsoft SQL Server 2008-korrigeringsfiler 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.Microsoft distribuerar Microsoft SQL Server 2008 eller 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

Tänk dig följande situation:

  • Du har en fullständig text Sök fråga som använder funktionen CONTAINSTABLE tillsammans med många eller och och och -predikat i villkoret i Microsoft SQL server 2008 eller i SQL Server 2008 R2. Du har till exempel följande 50 och åtgärder: Declare @Keywords varchar(4000) = NULLset @Keywords= N'((((((((((((((((((((((((((((((((((((((((((((((((((((("TOKarchitect" OR "architectural") AND ("TOKengineer" OR "engineer")) AND "gineer") AND ("TOKmechanical" OR "Mechanical")) AND ("TOKengineer" OR "Engineering")) AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectronic" OR "Electronics")) AND ("TOKengineer" OR "Engineering")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineer")) AND ("TOKelectric" OR "Electrical")) AND ("TOKengineer" OR "Engineering")) AND ("TOKcontrol" OR "Control")) AND ("TOKsystem" OR "Systems")) AND ("TOKengineer" OR "Engineer")) AND ("TOKproject" OR "Project")) AND ("TOKmanager" OR "Manager")) AND ("TOKengineer" OR "Engineering")) AND "Scheme") AND ("TOKmanufacture" OR "Manufacturing")) AND ("TOKengineer" OR "Engineer")) AND ("TOKmetallurgist" OR "Metallurgy")) AND ("TOKmetallurgist" OR "Metallurgist")) AND ("TOKprocess" OR "Process")) AND ("TOKTechnology" OR "Technology")) AND ("TOKproduct" OR "Production")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKengineer" OR "Engineer")) AND ("TOKQuality" OR "Quality")) AND ("TOKcontrol" OR "Control")) AND ("TOKengineer" OR "Engineer")) AND "Mechatronics") AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineer")) AND ("TOKcivil" OR "Civil")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineering")) AND ("TOKdesign" OR "Design")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "Engineer")) AND ("TOKgraduate" OR "Graduate")) AND ("TOKengineer" OR "engineering")) AND ("TOKengineer" OR "Engineering")) AND ("TOKgraduate" OR "Graduate")) AND ") ANDNOT (") AND ("TOKRecruitment" OR "Recruitment")) AND ("TOKconsultant" OR "consultant")) AND ("TOKtrainee" OR "trainee")) AND ("TOKRecruitment" OR "recruitment"))'select * from CONTAINSTABLE(test_table, *, @keywords, 1000)

  • Du kör frågan.

I det här scenariot kan fel meddelandet "icke-handledare" visas. Dessutom skapas en kraschdumpfil i SQL Server 2008-eller SQL Server 2008 R2-program logg-mappen, och följande fel loggas i SQL Server-fellogg filen:

<tidsstämpel> Server med ' dbghelp. dll ' version ' 4.0.5 '<tidsstämpel> Server * * * kan inte hämta tråd kontext för spid 0<tidsstämpel> Server * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *< TIDSstämpel>Server * början av stack-dumpen:><<tidsstämpel> Server * <tid> SPID <SPID><tidsstämpel> server *<tidsstämpel> server * icke-kapacitet Schemaläggaren<tidsstämpel> Server *<tidsstämpel> Server * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *<tidsstämpel> serverns 0x000000000000030D för dumpningen är<tidsstämpeln> Server för extern dumpfil-0x20000001. Den externa dumpnings processen gav inga fel.<tidsstämpel> Server process 0:0:0 (0xf94) Worker-0x00000000817481A0 verkar inte vara i schema 0. Tråd skapande tid: 12925321224306. Uppskattad tråd processor används: kernel 62 MS, User 75187 MS. Process användning 98%. System Idle 0%. Intervall: 76403 MS.<tidsstämpel> Server process 0:0:0 (0xf94) Worker-0x00000000817481A0 verkar inte vara i schema 0. Tråd skapande tid: 12925321224306. Uppskattad tråd processor används: kernel 125 ms, User 145250 MS. Process användning 98%. System Idle 0%. Intervall: 148417 MS.<tidsstämpel> Server process 0:0:0 (0xf94) Worker-0x00000000817481A0 verkar inte vara i schema 0. Tråd skapande tid: 12925321224306. Uppskattad tråd processor används: kernel 171 MS, User 205515 MS. Process användning 98%. System Idle 0%. Intervall: 209729 MS.<tidsstämpel> Server process 0:0:0 (0xf94) Worker-0x00000000817481A0 verkar inte vara i schema 0. Tråd skapande tid: 12925321224306. Uppskattad tråd processor används: kernel 218 MS, User 266343 MS. Process användning 98%. System Idle 0%. Intervall: 271588 MS.<tidsstämpel> Server process 0:0:0 (0xf94) Worker-0x00000000817481A0 verkar inte vara i schema 0. Tråd skapande tid: 12925321224306. Uppskattad tråd processor används: kernel 234 MS, User 325156 MS. Process användning 97%. System Idle 0%. Intervall: 333671 MS.<tidsstämpel> Server process 0:0:0 (0xf94) Worker-0x00000000817481A0 verkar inte vara i schema 0. Tråd skapande tid: 12925321224306. Uppskattad tråd processor används: kernel 296 MS, User 386000 MS. Process användning 97%. System Idle 0%. Intervall: 396370 MS.

Orsak

Det här problemet uppstår eftersom SQL Server 2008 eller SQL Server 2008 R2 inte släpper upp en schemaläggare korrekt.

Lösning

Kumulativ uppdaterings information

SQL Server 2008 R2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 5. 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:

2438347 Kumulativt uppdaterings paket 5 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

SQL Server 2008 Service Pack 1

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 10 för SQL Server 2008 Service Pack 1. 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:

2279604 Kumulativt uppdaterings paket 10 för SQL Server 2008 Service Pack 1Obs! 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:

970365 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 1 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 1 Hotfix för en installation av SQL Server 2008 Service Pack 1. 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 Service Pack 2

Korrigeringen för det här problemet släpptes först i kumulativ uppdatering 1 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:

2289254 Kumulativ uppdatering 1 för SQL Server 2008 Service Pack 2Obs! 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. 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:

2402659 SQL Server 2008-versioner som släpptes efter att SQL Server 2008 Service Pack 2 släpptes

Lösning

Undvik det här problemet genom att använda en synonym ordbok med fullständig text för att definiera synonymerna för predikatet. Det gör du genom att använda funktionen FORMSOF tillsammans med synonym värdet och sedan lägga till alla nyckelord som parametrar. I det här avsnittet "Symptom" nedan följer en uppdaterad version av exempel frågan: Select * from test_table where Contains(*,'FORMSOF (THESAURUS,"architectural","engineer","Mechanical","Engineering","Electronics","Engineer","Electrical","Control","Systems","Project","Manager","Manufacturing","Metallurgy","Metallurgist","Process",”Design”,"Technology","Production","Quality","Control","Civil","Graduate","Recruitment","consultant","trainee","recruitment")')

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 funktionen CONTAINSTABLE finns på följande MSDN-webbplats (Microsoft Developer Network):

Allmän information om funktionen CONTAINSTABLEOm 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 problemOm 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:

822499Nytt namn schema för program uppdaterings paket för Microsoft SQL ServerMer 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

Behöver du mer hjälp?

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Microsoft Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×