Simptomai
Kai bandote atlikti kelias dideles užklausas vienu metu "Microsoft SQL Server" 2014, kai kurios užklausos gali palaukti, kol RESOURCE_SEMAPHORE_QUERY_COMPILE. Galima tęsti tik vieną užklausą, kuri reikalauja daugiau atminties nei didelė šliuzo riba (kaip numatyta komandos DBCC MEMORYSTATUS išvestis), kad būtų galima tęsti, net jei serveryje yra pakankamai laisvos atminties.Pastaba. Tai yra laukiamas elgesys. Tačiau didelėse paketinėse sistemose, pvz., duomenų saugykloje, taip gali būti ankstesnės užklausos atliekant lygiagretųjį kelių užklausų veikimą.
Sprendimas
Kaupiamojo naujinimo informacija
Problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Rekomenduojame atsisiųsti ir įdiegti naujausius kaupiamuosius SQL serverio naujinimus:
Šios karštosios pataisos pristato naują sekimo vėliavėlę – T 6498. Šis sekimo žymė leidžia daugiau nei vieną didelės užklausos kompiliavimą gauti prieigą prie didelio šliuzo, kai yra pakankamai atminties. Jis pagrįstas 80 procentais "SQL Server" tikslinės atminties, ir tai leidžia sukurti vieną didelę užklausos kompiliavimą 25 gigabaitais (GB) atminties. Pavyzdžiui, tai leidžia naudoti du stambius užklausų rinkinius 64 GB paskirties atminties kompiuteryje. Pritaikius šias karštąsias pataisas, turite įgalinti sekimo vėliavėlę – T 6498, kad įgalintumėte naują veikimą. Pastaba. Jei įgalinsite sekimo vėliavėlę naudodami komandą DBCC TRACEON , jums nereikia iš naujo paleisti serverio, kad įsigaliotų sekimo žymė. Tačiau gali užtrukti iki 10 sekundžių, kol bus taikoma nauja didelė šliuzo konfigūracija. "Microsoft" galima naudoti palaikomas karštąsias pataisas. Tačiau šios karštosios pataisos skirtos tik šiame straipsnyje aprašytai problemai spręsti. Taikykite šias karštąsias pataisas tik sistemose, kuriose kyla ši konkreti problema. Jei karštąsias pataisas galima atsisiųsti, šio žinių bazės straipsnio viršuje yra skyrius "Galimas karštųjų pataisų atsisiuntimas". Jei šiame skyriuje nerodoma, pateikite užklausą "Microsoft" klientų aptarnavimo ir palaikymo tarnybai, kad gautumėte karštąsias pataisas. Pastaba Jei kyla papildomų problemų arba reikia atlikti trikčių diagnostiką, jums gali tekti sukurti atskirą aptarnavimo užklausą. Įprastos palaikymo išlaidos bus taikomos papildomiems palaikymo klausimams ir problemoms, kurių negalima išspręsti naudojant šias konkrečias karštąsias pataisas. Visą "Microsoft" klientų aptarnavimo ir palaikymo tarnybos telefonų numerių sąrašą arba Norėdami sukurti atskirą aptarnavimo užklausą, apsilankykite šioje "Microsoft" svetainėje:
http://support.microsoft.com/contactus/?ws=support Pastaba Formoje "Galimas karštųjų pataisų atsisiuntimas" rodomos kalbos, kuriomis galima atlikti karštąsias pataisas. Jei nematote savo kalbos, tai yra todėl, kad karštosios pataisos nėra tos kalbos.
Daugiau informacijos
PriežastisSQL serveris naudoja kompiliuoti šliuzus į droselio rinkinius. Šliuzo architektūra yra būdas, skirtas "SQL Server", kad būtų galima išsaugoti gaunamų užklausų, esančių dalyje valdymas, kompiliavimo atmintį. Yra trys šliuzai: mažosios, vidutinės ir didelės. Jei norite gauti daugiau informacijos apie tai, kaip naudoti komandą DBCC MEMORYSTATUS , kad būtų stebima atminties naudojimas, skaitykite KB 907877: kaip naudoti komandą DBCC MEMORYSTATUS, kad būtų stebima atminties naudojimas "SQL Server 2005".
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.