Požymiai
Kai "Microsoft „SQL Server“ 2014" bandote vykdyti kelias dideles užklausas vienu metu, kai kurios užklausos gali laukti RESOURCE_SEMAPHORE_QUERY_COMPILE. Gali tęsti tik vieną užklausą, kuriai kompiliuoti reikia daugiau atminties, nei nustatytas komandos DBCC MEMORYSTATUS išvestyje, gali būti tęsiama tik viena užklausa, kuriai kompiliuoti reikia daugiau atminties, nei nustatyta komandos DBCC MEMORYSTATUS išvestyje.
Pastaba: Tai numatytas veikimas. Tačiau didelių paketų sistemose, pvz., duomenų saugykloje, tai gali sumažinti našumą, kai vienu metu vykdomos daug užklausų.
Sprendimas
Kaupiamojo naujinimo informacija
Problema pirmą kartą buvo išspręsta šiame kaupiamajame „SQL Server“ naujinime.
- 1 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP1
- 6 kaupiamasis naujinimas, skirtas „SQL Server“ 2014
Rekomendacija: įdiekite naujausią "„SQL Server“" kaupiamąjį naujinimą
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Rekomenduojame atsisiųsti ir įdiegti naujausius kaupiamuosius "„SQL Server“" naujinimus:
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP1
- Naujausias "„SQL Server“ 2014" kaupiamasis naujinimas
Su šia karštąja pataisa pristatoma nauja sekimo vėliavėlė – T 6498. Ši sekimo vėliavėlė leidžia daugiau nei vienai didelei užklausų kompiliacijai gauti prieigą prie didelio šliuzo, kai yra pakankamai laisvos atminties. Jis pagrįstas 80 procentų „SQL Server“ tikslinės atminties ir leidžia vieną didelę užklausą kompiliuoti 25 gigabaitų (GB) atminties. Pavyzdžiui, tai leidžia atlikti du didelius užklausų kompiliavimus 64 GB talpos tikslinės atminties kompiuteryje.
Pritaikę šią karštąją pataisą, turite įgalinti sekimo vėliavėlę -T 6498, kad įgalintumėte naują veikimą.
Pastaba Jei įjungsite sekimo vėliavėlę naudodami DBCC TRACEON komandą, jums nereikės iš naujo paleisti serverio, kad sekimo vėliavėlė pradėtų veikti. Tačiau gali užtrukti 10 sekundžių, kol bus pritaikyta nauja didelio šliuzo konfigūracija.
Palaikomas karštąsias pataisas galima gauti iš "„Microsoft“". Tačiau ši karštoji pataisa skirta ištaisyti tik šiame straipsnyje aprašytą problemą. Taikykite šią karštąją pataisą tik toms sistemoms, kurios susiduria su šia problema.
Jei karštąją pataisą galima atsisiųsti, šio žinių bazės straipsnio viršuje yra skyrius "Karštosios pataisos atsisiuntimas". Jei šis skyrius nerodomas, pateikite užklausą "Microsoft" klientų aptarnavimo ir palaikymo tarnybai, kad gautumėte karštąją pataisą.
Pastaba. Kilus papildomų problemų arba prireikus trikčių diagnostikos, gali tekti sukurti atskirą paslaugos užklausą. Įprastos palaikymo išlaidos bus taikomos papildomiems palaikymo klausimams ir problemoms, kurios neatitinka šios konkrečios karštosios pataisos reikalavimų. Norėdami gauti visą "„Microsoft“" klientų aptarnavimo ir palaikymo tarnybos telefonų numerių sąrašą arba sukurti atskirą aptarnavimo užklausą, apsilankykite šioje "„Microsoft“" svetainėje:
/contactus/?ws=support Pastaba: Formoje "Karštųjų pataisų atsisiuntimas yra" rodomos kalbos, kurioms galima naudoti karštąją pataisą. Jei nematote savo kalbos, vadinasi, nėra tos kalbos karštųjų pataisų.
Daugiau informacijos
"CauseSQL Server" naudoja kompiliavimo šliuzus, kad apribotų kompiliacijas. Šliuzo architektūra yra būdas „SQL Server“ kontroliuoti atminties naudojimą gaunamoms užklausoms kompiliuoti. Yra trys vartai: mažas, vidutinis ir didelis.
Daugiau informacijos apie tai, kaip naudoti komandą DBCC MEMORYSTATUS atminties naudojimui stebėti, žr. KB 907877: Kaip naudoti komandą DBCC MEMORYSTATUS atminties naudojimui stebėti „SQL Server“ 2005".
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.