Pierakstīties, izmantojot Microsoft
Pierakstīties vai izveidot kontu
Sveicināti!
Atlasīt citu kontu.
Jums ir vairāki konti
Izvēlieties kontu, ar kuru vēlaties pierakstīties.

Microsoft izplata Microsoft SQL Server 2008 1. servisa pakotni (SP1) vai SQL 2008 R2 labojumus kā vienu lejupielādējamo failu. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 SP1 vai SQL 2008 R2 labošanas laidienā.

Simptomi

Iedomājieties šādu scenāriju:

  • Programmā Microsoft SQL Server 2008 vai SQL Server 2008 R2 vaicājumu izpilda noteiktā kolonnā tabulā, kurā ir daudz rindu. Vaicājumā ir iekļauts predikāts WHERE kārtulā.

  • Terminam, kas tiek izmantots predikātos satur, ir vārds. Vārds tiek rādīts dažās kolonnās, kas iekļautas tabulas pilna teksta indeksā.

Šajā scenārijā vaicājumu nepieciešams ilgs laiks kompilēšanai. Piemēram, šī problēma var rasties, palaižot šādu vaicājumu:

SELECT count(*)FROM dbo.MyLargeTable whereCONTAINS (email_address, '"name@contoso.com"')

Piezīmes.

  • Pieņemsim, ka dažās kolonnās, kas iekļautas tabulas pilna teksta indeksā, tiek rādīts ". com".

  • Varat reģistrēt vaicājuma kompilēšanas laiku, lai noteiktu, vai rodas šī problēma. Detalizētus norādījumus par to, kā izsekot kompilēšanas laiku, skatiet sadaļā "Papildinformācija".

Cēlonis

Šī problēma rodas, jo ir radusies kļūda par pilna teksta indeksiem Šajā gadījumā tiek veikta vairāku kolonnu skenēšana, kurās ir bieži sastopams vārds, kas tiek veikts, pirms paredzamo kolonnu meklēšanas tvērums ir sašaurināts.

Risinājums

Kumulatīvās atjaunināšanas informācija

SQL Server 2008 2. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 4 SQL Server 2008 2. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2527180 Kumulatīvās atjaunināšanas pakotne 4 SQL Server 2008 2. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2402659 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 2. servisa pakotne Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 2. servisa pakotnes labojumfails ir jālieto SQL Server 2008 2. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 13. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2008 SP1 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2497673 Kumulatīvās atjaunināšanas pakotne 13 SQL Server 2008 1. servisa pakotnei Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 SP1 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

970365 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 1. servisa pakotne

SQL Server 2008 R2 1. servisa pakotne

Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2008 R2 Service Pack 1 kumulatīvajā atjauninājumā. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2544793 Kumulatīvās atjaunināšanas pakotne 1 SQL Server 2008 R2 1. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2567616 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 R2 1. servisa pakotne

SQL Server 2008 R2

Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjaunināšanā 7. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2008 R2 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

2507770 Kumulatīvās atjaunināšanas pakotne SQL Server 2008 R2 Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:

981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2

Statusa

Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".

Risinājums

Lai šo problēmu atrisinātu, izmantojiet kādu no šīm metodēm:

  • Izmantojiet *, lai iekļautu visas kolonnas meklēšanā, nevis vienu kolonnu. Tādējādi tiek mainīts, cik rindas ir faktiski novērtētas, pirms integrētais pilnais teksts kompilē tā ranga novērtējumu. Piemēram, palaidiet šādu vaicājumu:

    SELECT count(*) FROM dbo.MyLargeTabel where CONTAINS (*, '"test@contoso.com"')
  • Uzlabojiet vārdu, kas bieži parādās programmā Word, izmantojot ALTER FULLTEXT STOPLIST priekšrakstu. Lai iegūtu papildinformāciju par izmaiņām FULLTEXT STOPLIST priekšraksts par Transact-SQL, apmeklējiet šo Microsoft izstrādātāju tīkla (MSDN) tīmekļa vietni: vispārīgu informāciju par ALTER FULLTEXT STOPLIST priekšraksts for Transact-SQL

Papildinformācija

Lai izsekotu vaicājuma kompilēšanas laiku, veiciet tālāk norādītās darbības.

  1. Izpildot vaicājumu, tveriet SQL Profiler izsekošanu. Lai to izdarītu, vērojiet TSQL: BatchCompleted un TSQL: StmtCompleted notikumus vai RPC: Completed un SP: StmtCompleted notikumi.

  2. Ņemiet vērā, ka pakešuzdevumu centrālā procesora laiks un priekšraksta CPU laiks.

  3. Atņemiet priekšraksta CPU laiku no pakešuzdevumu centrālā procesora laika. Rezultāts norāda CPU laiku, kas tiek paveikts, lai parsētu un kompilētu paketi.

Lai iegūtu papildinformāciju par to, kā izmantot satur predikātu for Transact-SQL, apmeklējiet šo Microsoft izstrādes tīkla (MSDN) tīmekļa vietni:

Kā izmantot predikātu is for Transact-SQL

Nepieciešama papildu palīdzība?

Vēlaties vairāk opciju?

Izpētiet abonementa priekšrocības, pārlūkojiet apmācības kursus, uzziniet, kā aizsargāt ierīci un veikt citas darbības.

Kopienas palīdz uzdot jautājumus un atbildēt uz tiem, sniegt atsauksmes, kā arī saņemt informāciju no ekspertiem ar bagātīgām zināšanām.

Vai šī informācija bija noderīga?

Cik lielā mērā esat apmierināts ar valodas kvalitāti?
Kas ietekmēja jūsu pieredzi?
Nospiežot Iesniegt, jūsu atsauksmes tiks izmantotas Microsoft produktu un pakalpojumu uzlabošanai. Jūsu IT administrators varēs vākt šos datus. Paziņojums par konfidencialitāti.

Paldies par jūsu atsauksmēm!

×