Kada primijenite ovo ažuriranje, morate dodati zastavicu Trace-T8075 kao parametar pokretanja da biste omogućili tu promjenu.

Simptomi

Kada pokrenete upit u 64-bitnim verzijama sustava Microsoft SQL Server 2012, prikazat će vam se poruka o pogrešci koja se prikazuje izvan memorije koja nalikuje sljedećoj u zapisniku pogreške sustava SQL Server:

Neuspješno alociranje stranica: FAIL_PAGE_ALLOCATION 513

Upite traje dugo vremena da biste dovršili izvršenje i susret SOS_MEMORY_TOPLEVELBLOCKALLOCATOR čekanje. Kada pregledate sljedeće informacije, vidjet ćete da postoji vrlo nizak raspoloživi virtualni adresni razmak:

  • DBCC MEMORYSTATUS-odjel procesnih/sistemskih točaka – dostupna virtualna memorija

  • DMV: sys.dm_os_process_memory-stupac virtual_address_space_available_kb

Te vrijednosti počinju s oko 8 terabajta (TB) na procesoru x64 i nastavljaju se spustiti i dosegnuti nekoliko gigabajta (GB).  Kada ste na pozornici gdje je dostupan virtualni adresni prostor vrlo nizak, upiti koji pokušaju izvršiti alokaciju memorije mogu naići i na vrstu čekanja CMEMTHREAD. Sljedeće će se stavke podataka nastaviti povećavati tijekom vremena:

  • DMV: sys.dm_os_process_memory i sys.dm_os_memory_nodes-stupac virtual_address_space_reserved_kb

  • DBCC MEMORYSTATUS-upravitelj memorije – rezervirano za VM

Te će se vrijednosti obično povećati u višestrukim vrijednostima vrijednosti "Max Server Memory" do gotovo 8 TB.

Uzrok

Kada je postupak sustava SQL Server dosegnuo državu u kojoj se prikazuje ukupna memorija poslužitelja = odredišna memorija = maksimalna memorija poslužitelja, u upravitelju memorije poslužitelja SQL Server postoje pravila o tome da nove alokacije zatraže više od 8 KB stranica da bi privremeno uspjele. Ponavljanje uzorka alokacije u okviru takvog stanja može prouzročiti fragmentaciju memorijskih blokova i konzumacije virtualnog adresnog prostora. Ako se taj postupak ponavlja mnogo puta, bit će iscrpljen virtualni adresni razmak sustava SQL Server i primijetit ćete simptome koji su prethodno navedeni.

Rješenje

Kumulativne informacije o ažuriranju

Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server.

 

Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Preporučujemo da preuzmete i instalirate najnovija kumulativna ažuriranja za SQL Server:

Ovim se hitnim popravkom sprječava i izvan memorije i kontinuirano smanjenje dostupnog virtualnog adresnog prostora koji možete doživjeti.

Status

Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".

Dodatne informacije

  • Windows 2012 R2 dopušta virtualni adresni razmak da raste kao velik kao 128 TB. Zbog toga ne možete primijetiti taj problem u okruženju sustava Windows 2012 R2. Dodatne informacije potražite u sljedećem članku u centru za korisnike sustava Windows:memorijska ograničenja za izdanja sustava Windows i Windows Server

  • Ako u virtualnom adresnom prostoru vidite stalan rast, čak i kada primijenite popravak, možete utvrditi koji upiti ili operacije zahtijevaju velike komadiće memorije pomoću Page_allocated proširenog događaja. Ogledna skripta izgleda ovako:

    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

    Obično su to sigurnosne kopije zapisnika i održavanje indeksa, što se često događa.

Potrebna vam je dodatna pomoć?

Proširite svoje vještine

Istražite osposobljavanje >

Prvi koristite nove značajke

Pridružite se Microsoft Insidere >

Jesu li vam ove informacije bile korisne?

Koliko ste zadovoljni jezičnom kvalitetom?
Što je utjecalo na vaše iskustvo?

Hvala vam na povratnim informacijama!

×