Applies ToSQL Server 2012 Service Pack 3 SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Enterprise Core SQL Server 2012 Standard

Po instalaci této aktualizace bude nutné přidat příznak trasování-T8075 jako parametr Startup (spuštění) a tuto změnu povolit.

Příznaky

Když spustíte dotaz v 64 verzi Microsoft SQL serveru 2012, zobrazí se v protokolu chyb SQL serveru chybová zpráva o nedostatku paměti, která se podobá následujícímu:

Nezdařilo se přidělit stránky: FAIL_PAGE_ALLOCATION 513

Dokončení dotazů trvá příliš dlouho a může se SOS_MEMORY_TOPLEVELBLOCKALLOCATOR čekat. Když prozkoumáte tyto informační body, zjistíte, že je k dispozici velmi malý dostupný virtuální adresní prostor:

  • DBCC MEMORYSTATUS-oddíl Process/System počty – dostupná virtuální paměť

  • DMV: virtual_address_space_available_kb sloupce sys.dm_os_process_memory

Tyto hodnoty se v procesu x64 pohybují kolem 8 terabajtů (TB) a můžete se dále rozepsat a dosahovat pár gigabajtů (GB).  Když se nacházíte ve fázi, kde je k dispozici virtuální adresní prostor je velmi nízký, mohou se dotazy, které se pokusí o přidělení paměti, objevit také v CMEMTHREAD typu. Následující datové body se budou dál postupně zvyšovat:

  • DMV: sys.dm_os_process_memory a sys.dm_os_memory_nodes virtual_address_space_reserved_kb

  • DBCC MEMORYSTATUS – část správce paměti – rezervuje virtuální počítač

Tyto hodnoty se obvykle zvyšují v násobcích hodnoty "maximální využití paměti serveru" do téměř 8 TB.

Příčina

Když proces SQL serveru dosáhl stavu, ve kterém celková paměť serveru = maximální paměť serveru, existují ve Správci paměti SQL serveru zásady, které umožňují, aby nové přidělení bylo úspěšné. Opakovaný vzorek přidělení v takovém stavu může způsobit fragmentaci bloků paměti a spotřebu virtuálního adresového prostoru. Pokud se tento proces mnohokrát opakuje, vyčerpá se virtuální adresní prostor SQL serveru a zjistíte, které uvedené kroky byly zmíněny dříve.

Řešení

Informace o kumulativní aktualizaci

Tento problém byl poprvé opraven následující kumulativní aktualizací SQL serveru.

 

Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:

Tato oprava hotfix brání v nedostatku paměti a nepřetržitému omezení dostupného virtuálního adresního prostoru.

Stav

Společnost Microsoft potvrzuje, že se jedná o problém v produktech této společnosti, které jsou uvedeny v části Informace v tomto článku jsou určeny pro produkt.

Další informace

  • Systém Windows 2012 R2 umožňuje virtuální adresový prostor rozšiřovat jako velké 128 TB. Proto si nemůžete všimnout tohoto problému v prostředích Windows 2012 R2. Další informace najdete v následujícím tématu v centru pro vývojáře Windows:limity paměti pro systémy Windows a Windows Server .

  • Pokud se ve virtuálním adresním prostoru zobrazuje nepřetržitý růst, a to i po použití opravy, můžete určit, které dotazy nebo operace vyžadují velké bloky paměti, pomocí Page_allocated rozšířené události. Ukázkový skript vypadá takto:

    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

    Obvykle se jedná o operace údržby protokolu a indexování indexu, ke kterým dochází často.

Potřebujete další pomoc?

Chcete další možnosti?

Prozkoumejte výhody předplatného, projděte si školicí kurzy, zjistěte, jak zabezpečit své zařízení a mnohem více.

Komunity vám pomohou klást otázky a odpovídat na ně, poskytovat zpětnou vazbu a vyslechnout odborníky s bohatými znalostmi.