Oprava: Mimo Chyba paměti, po virtuálního adresového prostoru procesu serveru SQL Server je velmi málo dostupné paměti

DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.

Projděte si také anglickou verzi článku: 3074434
Poznámka
Po instalaci této aktualizace je nutné přidat trasování příznak - T8075 jako spouštěcí parametr Povolit tuto změnu.
Příznaky
Při spuštění dotazu v 64bitové verzi 2014 Microsoft SQL Server nebo Microsoft SQL Server 2012, obdržíte out paměti chybová zpráva podobná následující v protokolu chyb serveru SQL Server:

Se nezdařilo přidělit stránek: FAIL_PAGE_ALLOCATION 513

Dotazy trvat dlouhou dobu dokončit provádění a dojde k SOS_MEMORY_TOPLEVELBLOCKALLOCATOR čeká.

Při kontrole toto informace zjistíte, že je velmi málo dostupný virtuální adresní prostor:

  • DBCC MEMORYSTATUS - proces nebo systém spočítá oddíl - dostupné virtuální paměti
  • DMV: sys.dm_os_process_memory - sloupec virtual_address_space_available_kb
Tyto hodnoty začnou asi 8 terabajtů (TB) na x64 zpracovat a nadále stoupat směrem a dosáhnout několika gigabajtů (GB).

Jste-li ve fázi kde dostupný virtuální adresní prostor je velmi nízká, dotazy, zkuste provést čekací typu CMEMTHREAD setkat také přidělení paměti.

Bude i nadále zvyšovat následujících bodů:
  • DMV: sys.dm_os_process_memory a sys.dm_os_memory_nodes - sloupec virtual_address_space_reserved_kb
  • Rezervované VM DBCC MEMORYSTATUS - oddíl správce paměti-

Tyto hodnoty se zvýší obvykle v násobcích hodnoty "paměti maximální serveru" až téměř 8 TB.
Příčina
Procesu serveru SQL Server když dosáhne stavu, pokud celková paměť serveru = cílový Server paměti = maximální serveru paměti v SQL Server správce paměti umožňují požadovat více stránek 8 KB dočasně úspěšné nové přidělení jsou zásady. Opakované přidělení vzorek za těchto podmínek může způsobit fragmentace paměti bloky a spotřebu virtuálního adresového prostoru. Pokud tento proces opakovat několikrát, dojít k vyčerpání virtuálního adresového prostoru serveru SQL Server a zaznamenáte příznaky, které byly dříve zmíněných.
Řešení

Informace o opravě hotfix

Chcete-li tento problém vyřešit, nainstalujte opravu hotfix z Oprava: Chyba při uložená procedura volá jinou proceduru uloženou na propojený server v SQL Server 2014.

Předpoklady

Musí mít Kumulativní aktualizace 3 pro SQL Server 2014 Service Pack 1 nainstalována tuto opravu hotfix.

Oznámení

Po instalaci této aktualizace je nutné přidat trasování příznak - T8075 jako spouštěcí parametr Povolit tuto změnu.

Informace o kumulativní aktualizaci

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

Doporučení: Nainstalujte nejnovější kumulativní aktualizaci pro SQL Server
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 zabrání nedostatku paměti a nepřetržité snižování dostupný virtuální adresní prostor, které mohou nastat.
Prohlášení
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Další informace
  • Windows 2012 R2 umožňuje zvětšit velikost 128 TB virtuálního adresního prostoru. Proto nemusí zaznamenáte tento problém v prostředí systému Windows 2012 R2. Další informace naleznete v následujícím tématu v Centrum vývojářů pro Windows:

    Omezení paměti pro vydání systému Windows a Windows Server
  • Pokud i po použití opravy trvalý růst virtuálního adresového prostoru, můžete určit, které dotazy nebo operace který požaduje velké množství 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
    Tyto jsou obvykle záloh protokolu a operace údržby indexu, ke kterým dochází často.

Upozornění: Tento článek je přeložený automaticky

Vlastnosti

ID článku: 3074434 - Poslední kontrola: 10/10/2016 02:28:00 - Revize: 9.0

Microsoft SQL Server 2012 Service Pack 2, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Service Pack 1

  • kbqfe kbsurveynew kbexpertiseadvanced kbfix kbmt KB3074434 KbMtcs
Váš názor