KB3024815 — lielu vaicājumu kompilācija gaida RESOURCE_SEMAPHORE_QUERY_COMPILE programmā SQL Server 2014

Attiecas uz
SQL Server 2014 Business Intelligence - duplicate (do not use) SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Web - duplicate (do not use)

Pazīmes

Kad programmā Microsoft SQL Server 2014 mēģināt vienlaikus izpildīt vairākus lielus vaicājumus, daži vaicājumi var gaidīt RESOURCE_SEMAPHORE_QUERY_COMPILE. Var turpināt darbu tikai vienā vaicājumā, kura kompilēšanai nepieciešams vairāk atmiņas nekā lielās vārtejas slieksnis (kā to nodrošina komandas DBCC MEMORYSTATUS izvade), pat ja serverī ir pietiekami daudz atmiņas.

Piezīme. Tā ir paredzama darbība. Tomēr lielās pakešu sistēmās, piemēram, datu noliktavā, tas var samazināt veiktspēju, vienlaikus izpildot daudzus vaicājumus.

Risinājums

Kumulatīvā atjauninājuma informācija

Šī problēma pirmo reizi tika novērsta nākamajā SQL Server kumulatīvajā atjauninājumā.

Ieteikums: instalējiet jaunāko kumulatīvo atjauninājumu serverim SQL Server

Katrā jaunajā SQL Server kumulatīvajā atjauninājumā ir visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Ieteicams lejupielādēt un instalēt jaunākos kumulatīvos SQL Server atjauninājumus:

Šajā labojumfailā ir ieviests jauns izsekošanas karodziņš -T 6498. Šis izsekošanas karodziņš ļauj vairākām lielu vaicājumu kompilācijām piekļūt lielajai vārtejai, ja ir pietiekami daudz atmiņas. Tas ir balstīts uz 80 procentiem SQL Server mērķa atmiņas, un tas ļauj veikt vienu lielu vaicājumu kompilāciju uz 25 gigabaitiem (GB) atmiņas. Piemēram, tas nodrošina divas lielas vaicājumu kompilācijas 64 GB mērķa atmiņas datorā.

Pēc šī labojumfaila lietošanas ir jāiespējo izsekošanas karodziņš -T 6498, lai iespējotu jauno darbību.

Piezīme Ja iespējojat izsekošanas karodziņu, izmantojot DBCC TRACEON komandu, nav jārestartē serveris, lai izsekošanas karodziņš stātos spēkā. Taču var paiet 10 sekundes, līdz jaunā lielās vārtejas konfigurācija tiks lietota.

 Atbalstīts labojumfails ir pieejams no Microsoft. Tomēr šis labojumfails ir paredzēts, lai novērstu tikai šajā rakstā aprakstīto problēmu. Lietojiet šo labojumfailu tikai sistēmām, kurās ir saskārusies ar šo konkrēto problēmu.

Ja labojumfails ir pieejams lejupielādei, šī zināšanu bāzes raksta augšdaļā ir sadaļa "Labojumfaila lejupielāde ir pieejama". Ja šī sadaļa netiek parādīta, iesniedziet pieprasījumu Microsoft klientu apkalpošanas un atbalsta dienestam, lai iegūtu labojumfailu.

Piezīme. Ja rodas papildu problēmas vai nepieciešama problēmu novēršana, iespējams, jums būs jāizveido atsevišķs pakalpojuma pieprasījums. Parasti atbalsta izmaksas attiecas uz jautājumiem par papildu atbalstu un problēmām, kas neskar šo konkrēto labojumfailu. Lai skatītu pilnu Microsoft klientu apkalpošanas un atbalsta tālruņa numuru sarakstu vai izveidotu atsevišķu pakalpojuma pieprasījumu, apmeklējiet šo Microsoft vietni:

/contactus/?ws=support Piezīme Veidlapā "Pieejama labojumfailu lejupielāde" tiek parādītas valodas, kurām labojumfails ir pieejams. Ja neredzat savu valodu, labojumfails šai valodai nav pieejams.

Papildinformācija

CauseSQL Server izmanto kompilācijas vārtejas, lai ierobežotu kompilācijas. Vārtejas arhitektūra ir veids, kā SQL Server kontrolē atmiņas lietojumu ienākošo vaicājumu kompilācijai. Ir trīs vārtejas: maza, vidēja un liela.

Papildinformāciju par komandas DBCC MEMORYSTATUS izmantošanu atmiņas lietojuma pārraudzībai skatiet KB 907877: kā izmantot komandu DBCC MEMORYSTATUS, lai pārraudzītu atmiņas lietojumu operētājsistēmā SQL Server 2005.

Statuss

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