Symptomen

Tijdens het starten van Microsoft SQL Server ziet u een of meer van de volgende problemen direct nadat de database is hersteld en de clientverbindingen zijn ingeschakeld.

Symptoom 1

U ontvangt foutberichten en beweringen die op de volgende lijken te worden weergegeven in het foutenlogboek van SQL Server:

2014-12-13 08:03:34.85 spid24s Using 'dbghelp.dll' version '4.0.5'2014-12-13 08:03:34.85 spid24s **Dump thread - spid = 0, EC = 0x0000000082274B202014-12-13 08:03:34.85 spid24s ***Stack Dump being sent to C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0001.txt2014-12-13 08:03:34.85 spid24s * *******************************************************************************2014-12-13 08:03:34.85 spid24s *2014-12-13 08:03:34.85 spid24s * BEGIN STACK DUMP:2014-12-13 08:03:34.85 spid24s * 12/13/14 08:03:34 spid 242014-12-13 08:03:34.85 spid24s *2014-12-13 08:03:34.85 spid24s * Location: ghost.cpp:17422014-12-13 08:03:34.85 spid24s * Expression: tcln1 != NULL2014-12-13 08:03:34.85 spid24s * SPID: 242014-12-13 08:03:34.85 spid24s * Process ID: 354442014-12-13 08:03:34.85 spid24s *2014-12-13 08:03:35.47 spid24s Error: 17066, Severity: 16, State: 1.2014-12-13 08:03:35.47 spid24s SQL Server Assertion: File: <ghost.cpp>, line=1742 Failed Assertion = 'tcln1 != NULL'. Deze fout kan optreden in verband met tijdsinstellingen. Als de fout zich blijft voordoen nadat u de instructie opnieuw hebt uitgevoerd, gebruikt u DBCC CHECKDB om de integriteit van de database te controleren op de integriteit van de gegevens of de server opnieuw te starten om te zorgen dat de gegevensstructuren in het geheugen niet beschadigd zijn.

Symptoom 2

U ontvangt foutberichten en uitzonderingen die op de volgende lijken te worden weergegeven in het foutenlogboek van SQL Server:

2014-12-13 12:38:30.25 spid51 met ' Dbghelp. dll ' versie ' 4.0.5 ' 2014-12-13 12:38:30.25 spid51 * * stack dump wordt verzonden naar C:\Program Files\Microsoft SQL server \ MSSQL10_50. SQL2008R2\MSSQL\LOG\SQLDump0003.txt2014-12-13 12:38:30.25 spid51 SqlDumpExceptionHandler: process 51 en EXCEPTION_ACCESS_VIOLATION. SQL Server is terminating this process.2014-12-13 12:38:30.25 spid51 * *******************************************************************************2014-12-13 12:38:30.25 spid51 *2014-12-13 12:38:30.25 spid51 * BEGIN STACK DUMP:2014-12-13 12:38:30.25 spid51 * 12/13/14 12:38:30 spid 512014-12-13 12:38:30.25 spid51 *2014-12-13 12:38:30.25 spid51 *2014-12-13 12:38:30.25 spid51 * Exception Address = 000000000030D47C Module(sqlservr+00000000000FD47C)2014-12-13 12:38:30.25 spid51 * Exception Code = c0000005 EXCEPTION_ACCESS_VIOLATION2014-12-13 12:38:30.25 spid51 * Access Violation occurred reading address FFFFFFFFFFFFFFFF2014-12-13 12:38:30.25 spid51 * Input Buffer 54 bytes -2014-12-13 12:38:30.25 spid51 * exec usp_select12014-12-13 12:38:30.77 Server Error: 17310, Severity: 20, State: 1.2014-12-13 12:38:30.77 Server A user request from the session with SPID 51 generated a fatal exception. Deze sessie wordt beëindigd door SQL Server. Neem contact op met Product Support Services met de dump in de logboekmap. De schending van de toegang krijgt de volgende oproep stack: SQLSERVR! TaskGhostCleanup:: IsHashed + 0x8dsqlservr! TaskGhostCleanup:: 0x32sqlservr IndexRowScanner:: MoveToRowOnNextPage + 0x9csqlservr! IndexDataSetSession:: GetNextRowValuesInternal + 0x11cb

Symptoom 3

Wanneer u de berichten ontvangt die worden vermeld in de vorige symptoom secties, worden de volgende berichten weergegeven in het foutenlogboek van SQL Server:

2014-12-13 08:04:53.37 Server Process 0:0:0 (0x23c8) werknemer 0x000000002880C1A0 lijkt niet te worden opoogst voor scheduler 23. Thread aanmaaktijd: 13062953007877. Ong gebruikgemaakt van thread processor: kernel 0 MS, gebruiker 0 MS. Proces gebruik 0%. Systeem idle 88%. Interval: 70013 MS. 2014-12-13 08:04:53.37 Server Process 0:0:0 (0x71d8) medewerkers 0x000000002A8D21A0 lijkt te worden opgeoogst op planner 30. Thread aanmaaktijd: 13062953007891. Ong gebruikgemaakt van thread processor: kernel 0 MS, gebruiker 0 MS. Proces gebruik 0%. Systeem idle 88%. Interval: 70013 ms.2014-12-13 08:04:53.38 Server ***Unable to get thread context for spid 02014-12-13 08:04:53.38 Server * *******************************************************************************2014-12-13 08:04:53.38 Server *2014-12-13 08:04:53.38 Server * BEGIN STACK DUMP:2014-12-13 08:04:53.38 Server * 12/13/14 08:04:53 spid 294882014-12-13 08:04:53.38 Server *2014-12-13 08:04:53.38 Server * Non-yielding Scheduler2014-12-13 08:04:53.38 Server *2014-12-13 08:04:53.38 Server * *******************************************************************************2014-12-13 08:04:53.38 Server Stack Signature for the dump is 0x00000000000003412014-12-13 08:04:55.43 Server External dump process return code 0x20000001. Extern dump proces heeft geen fouten geretourneerd. 2014-12-13 08:04:55.43 Server Process 0:0:0 (0x9358) werknemer 0x0000000081CE41A0 lijkt te zijn dat de werknemer geen resultaten oplevert voor planner 4. Thread aanmaaktijd: 13062953009701. Ong gebruikgemaakt van thread processor: kernel 0 MS, gebruiker 15 MS. Proces gebruik 0%. Systeem idle 88%. Interval: 70011 MS.

De SQL-Server reageert mogelijk niet op dit moment op gebruikersaanvragen. Als dit het geval is, moet u de service opnieuw starten om de situatie te corrigeren.

Oorzaak

Dit probleem doet zich voor omdat gebruikers query's proberen de Ghost-opschoon wachtrijen te gebruiken voordat dit proces volledig is geïnitialiseerd.

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingsoplossingen die zijn opgenomen in de vorige cumulatieve update. Bekijk de nieuwste cumulatieve updates voor SQL Server:

Tijdelijke oplossing

Voer de volgende stappen uit om dit probleem tijdelijk op te lossen:

  1. Configure -T669 as Startup-parameter. Met deze tracerings vlaggen voorkomt u dat gebruikers query's van de Queuing-aanvragen voor een Ghost Cleanup proces worden uitgevoerd.

  2. Een SQL Server Agent-waarschuwing instellen voor het activeren van een taak in SQL-bericht 3408. Stel bijvoorbeeld de volgende melding in:

    Herstel voltooid. Dit is slechts een informatief bericht. U hoeft geen gebruikersactie te ondernemen.

  3. Voer binnen deze taak een TSQL-script uit om te wachten tot 5 tot 10 minuten en voer vervolgens de opdracht DBCC TRACEOFF (669,-1) uit.

Met deze procedure wordt gecontroleerd of deze traceringsvlag alleen tijdens het opstarten van SQL Server is geactiveerd. Het gebruik van deze traceringsvlag heeft geen invloed op de gebruikelijke werking van het Ghost-opruimproces voor de achtergrond.

Status

Microsoft heeft bevestigd dat dit een probleem met SQL Server is en dat momenteel een oplossing voor dit probleem wordt onderzocht. Dit Knowledge Base-artikel wordt bijgewerkt met aanvullende informatie wanneer deze beschikbaar wordt.

Verwijzingen

In de opslag-engine: Ghost Cleanup in dieptewaarschuwingensp_add_alert (Transact-SQL)DBCC TRACEOFF (Transact-SQL)detracerings vlaggendatabase-engine opstarten

Meer hulp nodig?

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Microsoft insiders

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?

Bedankt voor uw feedback.

×