Prisijunkite prie „Microsoft“
Prisijunkite arba sukurkite paskyrą.
Sveiki,
Pasirinkti kitą paskyrą.
Turite kelias paskyras
Pasirinkite paskyrą, kurią naudodami norite prisijungti.

Kai pritaikote šį naujinimą, turite įtraukti sekimo vėliavėlę – T8075 kaip paleisties parametrą, kad įgalintumėte šį keitimą.

Simptomai

Kai vykdote užklausą "Microsoft SQL Server 2012" 64 bitų versijoje, gaunate atminties stokos klaidos pranešimą, panašų į šį SQL serverio klaidos pranešime:

Nepavykę priskirti puslapiai: FAIL_PAGE_ALLOCATION 513

Užklausos baigia vykdyti ir susiduria su SOS_MEMORY_TOPLEVELBLOCKALLOCATOR laukia. Kai patikrinsite šiuos informacijos punktus, rasite, kad yra labai mažai galimos virtualios adresų erdvės:

  • DBCC MEMORYSTATUS – proceso/sistemos skaičiuoja sekciją – virtualioji atmintis

  • DMV: sys.dm_os_process_memory stulpelis virtual_address_space_available_kb

Šios reikšmės turi prasidėti maždaug 8 terabaitus (TB) x64 proceso metu, o toliau nulipti ir pasiekti kelis gigabaitus (GB).  Kai esate stadijoje, kur galima virtualioji adresų sritis labai maža, užklausos, kurios bando atlikti atminties paskirstymą, taip pat gali susidurti su laukimo tipu CMEMTHREAD. Toliau nurodyti duomenų taškai laikui bėgant didės:

  • DMV: sys.dm_os_process_memory ir sys.dm_os_memory_nodes-stulpelis virtual_address_space_reserved_kb

  • DBCC MEMORYSTATUS – atminties tvarkytuvo sekcija – VM rezervuota

Paprastai šios reikšmės didės "Max Server Memory" reikšmės iki beveik 8 TB.

Priežastis

Kai SQL serverio procesas pasiekia būseną, kurioje iš viso serverio atmintis = paskirties serverio atmintis = Max serverio atmintis, yra "SQL Server Memory Manager" strategijų, kurios suteikia galimybę naujiems priskyrimams laikinai atlikti kelis 8 KB puslapius. Kartotinis priskyrimo raštas esant tokiai sąlygai gali sukelti atminties blokų fragmentaciją ir virtualiosios adresų erdvės naudojimą. Jei šis procesas kartojamas daug kartų, SQL serverio virtualioji adresų sritis bus išnaudota ir pastebėsite anksčiau minėtus požymius.

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 neleidžia atsirasti ir iš atminties, ir dėl besitęsiančio galimos virtualiosios adresų erdvės sumažinimo.

Statusą

"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.

Daugiau informacijos

  • "Windows 2012 R2" leidžia virtualiai adresų erdvę padidinti iki "128 TB". Todėl galite pastebėti šią problemą "Windows 2012 R2" aplinkose. Daugiau informacijos ieškokite temoje "Windows" kūrėjų centre:atminties ribos, skirtos "Windows" ir "Windows Server" leidimams

  • Jei matote nepertraukiamą augimą virtualiojoje adresų srityje net pritaikę pataisą, galite nustatyti, kurios užklausos arba operacijos reikalauja daug atminties gabaliukų, naudojant Page_allocated išplėstinį įvykį. Pavyzdinis scenarijus atrodo taip:

    CREATE EVENT SESSION [memory_tracking] ON SERVERADD EVENT sqlos.page_allocated(    ACTION(package0.callstack,sqlos.cpu_id,sqlos.task_address,sqlos.worker_address,sqlserver.database_id,sqlserver.query_hash,sqlserver.request_id,sqlserver.session_id,sqlserver.sql_text)    WHERE ([number_pages]>(1)))ADD TARGET package0.event_file(SET filename=N'E:\Data\MSSQL11.MSSQLSERVER\MSSQL\Log\memory_tracking.xel')WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)GO

    Paprastai tai yra žurnalų atsarginės kopijos ir indekso palaikymo operacijos, kurios dažnai pasitaiko.

Reikia daugiau pagalbos?

Norite daugiau parinkčių?

Sužinokite apie prenumeratos pranašumus, peržiūrėkite mokymo kursus, sužinokite, kaip apsaugoti savo įrenginį ir kt.

Bendruomenės padeda užduoti klausimus ir į juos atsakyti, pateikti atsiliepimų ir išgirsti iš ekspertų, turinčių daug žinių.

Ar ši informacija buvo naudinga?

Ar esate patenkinti kalbos kokybe?
Kas turėjo įtakos jūsų įspūdžiams?
Paspaudus mygtuką Pateikti, jūsų atsiliepimai bus naudojami tobulinant „Microsoft“ produktus ir paslaugas. Jūsų IT administratorius galės rinkti šiuos duomenis. Privatumo patvirtinimas.

Dėkojame už jūsų atsiliepimą!

×