Broncontrole voert een voorwaarde niet rentestand op een server waarop SQL Server wordt uitgevoerd

Van toepassing: Microsoft SQL Server

Symptomen


Op een server waarop Microsoft SQL Server 2008 (of hoger) wordt uitgevoerd, meldt de bronmonitor taak elke 5 seconden het volgende bericht weergegeven:
Datum_en_tijdstip Server met 'dbghelp.dll' versie '4.0.5'Datum_en_tijdstip Server ** Dump thread - spid = 0, PSS = 0x0000000000000000, EG = 0X0000000000000000Datum_en_tijdstip Aanmelden aanmelding voor gebruiker 'OPENTEXT\sqlcrmusr'. Verbinding: vertrouwd. [CLIENT: IP-adres]Datum_en_tijdstip spid78 fout: 4014, ernst: 20, staat: 2.Datum_en_tijdstip spid78 een fatale fout opgetreden tijdens het lezen van de invoerstroom van het netwerk. De sessie wordt beëindigd.Datum_en_tijdstip Server *** Stack Dump naar schijfwordt verzonden: \MSSQL2005\LOG\SQLDump#.txtDatum_en_tijdstip Server * ***Datum_en_tijdstip Server *Datum_en_tijdstip Server * BEGIN STACKDUMP:Datum_en_tijdstip Server * spid Datum_en_tijdstip 0Datum_en_tijdstip Server *Datum_en_tijdstip Server * niet rentestand BroncontroleDatum_en_tijdstip Server *Datum_en_tijdstip Server * ***Datum_en_tijdstip Server *---Datum_en_tijdstip Server * korte StackdumpDatum_en_tijdstip Server Stack handtekening voor de dump is 0x000000000000005CDatum_en_tijdstip, Server, onbekend, werknemer Broncontrole (0x9b0) 0x0000000003A2C1C0 lijkt niet rentestand op Node_ #. Geheugen vrijgemaakt: 0 KB. Gebruikt ongeveer CPU: kernel 0 msnull 0 gebruiker msnull Interval: Interval_value.

Oorzaak


U start met SQL Server 2008, ontwaakt de Resource Monitor taak periodiek te luisteren naar en abonnees van laag, hoog of constante geheugen gebeurtenissen in kennis. Deze gebeurtenissen geheugen mogelijk buiten SQL Server (meldingen die het hele systeem zijn van het besturingssysteem) of interne naar SQL Server (meldingen die het hele proces van de buffergroep). Wanneer dergelijke kennisgevingen plaatsvinden, snijd verschillende geheugen consumenten hun geheugengebruik.Opmerking Consumenten kunnen worden clerks geheugen cache winkels, gebruiker winkels of object winkels.Als bepaalde consumenten geheugen met een grote hoeveelheid geheugen, kan inkorten van de consumenten uitvoeren lang duren om te voltooien.De Scheduler Monitor taak die wordt uitgevoerd elke 5seconds wordt gecontroleerd of Resource Monitor een consument naar een andere in de afgelopen 60 seconden verplaatst heeft. Wanneer de Monitor Scheduler vaststelt dat de Resource Monitor is niet gepasseerd een consument gedurende 60 seconden, de Monitor van de planning wordt dit geïnterpreteerd als de bronmonitor invoeren van een staat niet in de rentestand en de planning Monitor meldt zich vervolgens het foutbericht dat is vermeld in de sectie 'Symptomen'.
Opmerking Vanaf 2019 van SQL Server is het 60 seconden-interval wordt verhoogd tot 120 seconden te verminderen van de frequentie van deze diagnostische meldingen en het genereren van geheugendumpbestanden.Deze berichten worden ook deze gebeurtenis treedt op als de snelheid waarmee de bronmonitor maakt vrij geheugen minder dan 2 MB elke 5 seconden is.Deze berichten zijn alleen een indicatie dat de bronmonitor is bezig met opschonen van grote consumenten, en dat deze berichten worden niet noodzakelijkerwijs een probleem met de bronmonitor zelf.

Oplossing


Vanaf Microsoft SQL Server 2008 Service Pack 2 en Microsoft SQL Server 2008 R2 Service Pack 1 is is het bericht niet rentestand bronmonitor uitgebreid isoleren gemakkelijk de geheugen-medewerker die tot de voorwaarde niet rentestand leidt.Het nieuwe bericht typt u het volgende:
Resource Monitor (0x9b0) werknemer 0x0000000003A2C1C0 lijkt niet rentestand op knooppunt Node_ #. Geheugen vrijgemaakt: 0 KB. Laatste wachten: lastwaittype. Laatste medewerker: clerk_typetypt, wordt de naam clerk_name. Gebruikt ongeveer CPU: kernel 0 ms, ms, 0, gebruiker Interval: Interval_value.
Hieronder volgen beschrijvingen van de velden die worden gebruikt in dit bericht:
  • Geheugen vrijgemaakt: dit is hoeveel geheugen vrijgemaakt door bronmonitor voor het opgegeven interval als gemeten in kilobytes. Als de snelheid waarmee het geheugen wordt vrijgemaakt niet meer dan 2 MB elke 5 seconden, vastgesteld de planner dat aan deze voorwaarde als voorwaarde niet rentestand.
  • Laatste wachten: dit is het laatste type wachten voor de thread bronmonitor. Kunt u dit veld samen met het veld Ongeveer CPU -bronnen gebruikt om te bepalen of de thread bronmonitor wordt uitgevoerd of nog een belangrijk deel van het interval.
  • Laatste medewerker: dit is het type en de naam van de geheugen-medewerker die het geheugen is bijsnijden als de voorwaarde niet rentestand is opgetreden.
  • Ongeveer CPU -bronnen gebruikt: dit is de kernel- en de tijd die wordt gebruikt door de bronmonitor gemeten in milliseconden. U kunt dit samen met andere velden gebruiken om te controleren of de Resource Monitor voortgang maakt tijdens het opgegeven interval.
  • Interval: dit is de tijd die is verstreken sinds de laatste medewerker voorleggen gemeten in milliseconden.
Dit bericht naast de vermeldingen RING_BUFFER_RESOURCE_MONITOR vanaf het tijdstip waarop het bericht kunt u de bron van de kennisgeving onvoldoende geheugen te identificeren.Voor meer informatie over het interpreteren van de RING_BUFFER_RESOURCE-MONITOR. Ga naar de volgende MSDN-blog:Voor meer informatie over hoe SQL Server luistert en reageert op meldingen van geheugen en over het oplossen van prestatieproblemen met betrekking tot het geheugen in SQL Server en de taak Broncontrole verwijzen naar de volgende MSDN-blog artikelen:

Status


Microsoft heeft bevestigd dat dit probleem kan optreden in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op'. Dit probleem werd voor het eerst verholpen in SQL Server 2008 Service Pack 2 voor SQL Server 2008.This probleem het eerst in SQL Server 2008 R2 Service Pack 1 voor SQL Server 2008 R2 verholpen was.