SQL Server 2012 får slut på minne-fel

Artikelöversättning Artikelöversättning
Artikel-id: 2769594 - Visa produkter som artikeln gäller.
Visa alla | Dölj alla

På den här sidan

Symptom

Microsoft SQL Server 2012 kan vissa fel-memory uppstå på grund av ett internt minnesläcka. I det här fallet förbrukas läckt minne av det MEMORYCLERK_SQLLOGPOOL minne clerk som används internt för transaktionen logga aktiviteter. Exempelvis används MEMORYCLERK_SQLLOGPOOL minne clerk internt för följande transaktionen logga aktiviteter:
  • AlwaysOn ändringen fångar verksamheter på primär repliker
  • AlwaysOn gör om manager verksamhet på sekundära tillgänglighet repliker

Det här problemet kan förvärras av en stor mängd transaktioner som ska synkroniseras på en instans av SQL Server som är värd för många tillgängliga databaser. När problemet uppstår loggas ett felmeddelande som liknar följande i felloggen för SQL:
Det gick inte att allokera sidor: FAIL_PAGE_ALLOCATION 8
Fel: 701, allvarlighetsgrad: 17 tillstånd: 107.
Det finns inte tillräckligt med minne i resurspoolen internt för att köra frågan.
Fel: 701, allvarlighetsgrad: 17 tillstånd: 123.
Det finns inte tillräckligt med minne i resurspoolen poolnamn om du vill köra den här frågan.
Fel: 701, allvarlighetsgrad: 17 tillstånd: 107. (Params :). Fel skrivs i terse läge eftersom fel uppstod under formateringen. Spårning, ignoreras ETW, meddelanden osv.
Fel: 17312, allvarlighetsgrad: 16, tillstånd: 1.
SQL Server avslutas en system- eller aktiviteten HADR på grund av fel i Starta aktivitet (installationen tillstånd 1).
AppDomain 3181 (<appdomain>) har markerats för att ta bort trycket minne.
AppDomain 3181 (<appdomain>) tas bort.
Fel: 9602, allvarlighetsgrad: 16, tillstånd: 1.
Gick inte att starta en uppgift som systemet med felkod 28709 tillstånd 19.
Fel: 17300, allvarlighetsgrad: 16, tillstånd: 1.
SQL Server kunde inte köra en ny uppgift i systemet, antingen eftersom det inte finns tillräckligt med minne eller antalet sessioner som konfigurerade överskrider den tillåtna i servern. Kontrollera att servern har tillräckligt med minne. Använda sp_configure med tillgängliga för användare att kontrollera det maximala antalet tillåtna användaranslutningar. Använd sys.dm_exec_sessions för att kontrollera hur många sessioner, inklusive användarprocesser.
Fel: 17312, allvarlighetsgrad: 16, tillstånd: 1.
SQL Server avslutas en system- eller aktiviteten HADR på grund av fel i Starta aktivitet (installationen tillstånd 1).
Fel: 18054, allvarlighetsgrad: 16, tillstånd: 1.</appdomain></appdomain>
När instansen av SQL Server är värd för en databas som ingår i en grupp för SQL Server AlwaysOn tillgänglighet, misslyckas Datasynkronisering mellan repliker. Undvik problemet du stoppa och starta om SQL Server.

När minnet är slut förhållanden uppstår gruppen tillgänglighet kan växla över till den sekundära tillgänglighet repliken och tidigare primära replik får fortsätta att uppnå fel förrän tjänsten stoppas och startas om. Gruppen tillgänglighet kan gå in i lösa eller okänt tillstånd och alla databaser i gruppen tillgänglighet kan vara oåtkomliga, förrän SQL-tjänsten har startats om för att frigöra minne för logg-pool.

Du kan köra DBCC MEMORYSTATUS uttryck när felet börjar Observera i utdata som förbrukas av MEMORYCLERK_SQLLOGPOOL minne clerk många gigabyte minne. Följande är ett exempel utdata:
MEMORYCLERK_SQLLOGPOOL (0-nod) KB
---------------------------------------- -----------
VM reserverad 0
VM begått 0
Låsta sidor allokerade 0
SM reserverad 0
SM begått 0
Allokerade 823544 sidor
Du ser också antalet minnessidor till problemet genom att köra följande DMV frågor:
SELECT * FROM sys.dm_os_memory_clerks WHERE type='MEMORYCLERK_SQLLOGPOOL'
SELECT type, name, pages_in_bytes/ 1024 AS PMO_KB FROM sys.dm_os_memory_objects WHERE type like 'MEMOBJ_LOGPOOL%'
Ett annat möjligt problem är att SQL Server frågor kan vänta RESOURCE_SEMAPHORE waittype när poolminne buffert omedelbart inte kan erhållas på grund av det stora antalet konsumenter av loggen Pool.

Den här snabbkorrigeringen löser följande problem:
  • En minnesläcka korrigerats i den interna read-ahead mekanism som används för att hitta transaktionen logg-pooler som används av AlwaysOn och andra transaktionen logg intensiva aktiviteter i SQL Server 2012.
  • När det finns tillräckligt med ledigt minne frigörs poolminne interna loggen aggressivt för att återställa fel-memory mer kontrollerat SQL Server.

Lösning

Kumulativ uppdateringsinformation

Kumulativ uppdatering 2 för SQL Server 2012 SP1

Korrigeringsfil för problemet gavs först ut i kumulativ uppdatering 2. Mer information om hur du hämtar paketet kumulativ uppdatering för SQL Server 2012 SP1 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2790947 Kumulativt uppdateringspaket 2 för SQL Server 2012 Service Pack 1
Obs! Eftersom byggen är kumulativa, varje ny version av korrigeringsfilen innehåller alla snabbkorrigeringar och säkerhetskorrigering för alla säkerhetskorrigeringar som ingår i föregående SQL Server 2012 SP1. Vi rekommenderar att du använder den senaste utgåvan, korrigering, som innehåller den här snabbkorrigeringen. Mer information klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2772858 SQL Server 2012 bygger som har getts ut efter SQL Server 2012 Service Pack 1

Kumulativ uppdatering 5 för SQLServer 2012

Korrigeringsfil för problemet gavs först ut i den kumulativa uppdateringen 5. Mer information om hur du hämtar paketet kumulativ uppdatering för SQL Server 2012 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2777772 Kumulativt uppdateringspaket 5 för SQL Server 2012
Obs! Eftersom byggen är kumulativa, varje ny version av korrigeringsfilen innehåller alla snabbkorrigeringar och säkerhetskorrigering för alla säkerhetskorrigeringar som ingår i föregående SQL Server 2012. Vi rekommenderar att du använder den senaste utgåvan, korrigering, som innehåller den här snabbkorrigeringen. Om du vill veta mer klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
2692828 SQL Server 2012 bygger som har getts ut efter SQL Server 2012

Information om snabbkorrigeringen

Det finns en snabbkorrigering från Microsoft. Den här snabbkorrigeringen är emellertid avsedd att lösa det problem som beskrivs i denna artikel. Den här snabbkorrigeringen endast på datorer som just detta problem.

Om den är tillgänglig för hämtning, finns det ett avsnitt "Snabbkorrigeringen är tillgänglig" högst upp i denna artikel. Om det här avsnittet inte visas, skicka en begäran till Microsofts kundtjänst och Support för att få snabbkorrigeringen.

Obs! Om det uppstår ytterligare problem eller krävs felsökning, kan du behöva skapa en serviceförfrågan. De vanliga supportkostnaderna gäller för övriga supportfrågor och problem som inte uppfyller kraven för den här snabbkorrigeringen. En fullständig lista över telefonnummer för Microsofts kundtjänst och Support eller skapa en serviceförfrågan finns på följande Microsoft-webbplats:
http://support.microsoft.com/contactus/?ws=support
Obs! "Snabbkorrigeringen är tillgänglig"-formuläret visar de språk som snabbkorrigeringen är tillgänglig. Om ditt språk inte visas beror det på att en snabbkorrigering inte är tillgänglig för det aktuella språket.

Krav på omstart

Du behöver inte starta om datorn när du har installerat snabbkorrigeringen.

Förutsättningar

Den här snabbkorrigeringen måste du ha SQL Server 2012 installerat.

Filinformation

Den globala versionen av den här snabbkorrigeringen har de filattribut (eller senare filattribut) som visas i följande tabell. Datum och tider för dessa filer anges i UTC (Coordinated Universal Time). När du visar filinformationen konverteras den till lokal tid. Om du vill se skillnaden mellan UTC-tid och lokal tid på Tidszon fliken i den Datum och tid På Kontrollpanelen.
Dölj tabellenVisa tabellen
FilnamnFilversionFilstorlekDatumTidPlattform
Sqlmin.dll2011.110.2387.032,460,27219-Okt-201205: 25x 64
Sqlservr.exe2011.110.2387.0190,94419-Okt-201205: 01x 64
Sqlmin.dll2011.110.2387.026,515,93619-Okt-201205: 22x 86
Sqlservr.exe2011.110.2387.0160,22419-Okt-201205: 17x 86

Egenskaper

Artikel-id: 2769594 - Senaste granskning: den 24 januari 2013 - Revision: 3.0
Informationen i denna artikel gäller:
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
Nyckelord: 
kbtshoot kbautohotfix kbqfe kbhotfixserver kbfix kbexpertiseadvanced kbsurveynew kbmt KB2769594 KbMtsv
Maskinöversatt
VIKTIGT: Denna artikel är översatt av Microsofts automatiska översättningsprogram och inte av en mänsklig översättare. För att Du skall ha åtkomst till alla artiklar i Knowledge Base på Ditt föredragna språk så är en del artiklar översatta av människor och en del artiklar av översättningsprogram. Tänk på att en artikel som är översatt av ett översättningsprogram inte alltid är perfekt. Artikeln kan innehålla fel ord, grammatik eller meningsbyggnad, ungefär som en utländsk talare kan göra misstag när han eller hon pratar med Dig på Ditt språk. Microsoft ansvarar inte för eventuella felaktigheter i översättningen, fel eller skador som orsakats av någon felöversättning av innehållet eller våra kunders användande av det översatta innehållet. Microsoft uppdaterar kontinuerligt mjukvaran för översättningsprogrammet.
Den engelska versionen av artikeln är följande: 2769594

Ge feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com