Symptomen
Tijdens het opstarten van Microsoft SQL Server ziet u een of meer van de volgende symptomen direct nadat het databaseherstel is voltooid en de clientverbindingen zijn ingeschakeld.
Symptoom 1
U ontvangt foutberichten en bevestigingen in uw foutenlogboek van SQL Server zoals de volgende:
Opmerking
2014-12-13 08:03:34.85 spid24s met 'dbghelp.dll' versie '4.0.5'
2014-12-13 08:03:34.85 spid24s **Dump thread - spid = 0, EC = 0x0000000082274B20
2014-12-13 08:03:34.85 spid24s *** Stackdump wordt verzonden naar C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0001.txt
2014-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 24
2014-12-13 08:03:34.85 spid24s *
2014-12-13 08:03:34.85 spid24s * Locatie: ghost.cpp:1742
2014-12-13 08:03:34.85 spid24s * Expressie: tcln1 != NULL
2014-12-13 08:03:34.85 spid24s * SPID: 24
2014-12-13 08:03:34.85 spid24s * Proces-id: 35444
2014-12-13 08:03:34.85 spid24s *
2014-12-13 08:03:35.47 spid24s Fout: 17066, ernst: 16, Staat: 1.
2014-12-13 08:03:35.47 spid24s SQL Server Bewering: Bestand: <ghost.cpp>, line=1742 Mislukte bewering = 'tcln1 != NULL'. Deze fout kan betrekking hebben op de timing. Als de fout zich blijft voordoen nadat de instructie opnieuw is uitgevoerd, gebruikt u DBCC CHECKDB om de database te controleren op structurele integriteit, of start u de server opnieuw op om ervoor te zorgen dat gegevensstructuren in het geheugen niet beschadigd zijn.
Symptoom 2
U ontvangt foutberichten en uitzonderingen zoals de volgende in uw foutenlogboek van SQL Server:
Opmerking
2014-12-13 12:38:30.25 spid51 Met 'dbghelp.dll' versie '4.0.5'
2014-12-13 12:38:30.25 spid51 ***Stackdump wordt verzonden naar C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008R2\MSSQL\LOG\SQLDump0003.txt
2014-12-13 12:38:30.25 spid51 SqlDumpExceptionHandler: Process 51 generated fatal exception c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server beëindigt dit proces.
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 51
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 *
2014-12-13 12:38:30.25 spid51 * Uitzonderingsadres = 000000000030D47C Module(sqlservr+000000000000FD47C)
2014-12-13 12:38:30.25 spid51 * Uitzonderingscode = c0000005 EXCEPTION_ACCESS_VIOLATION
2014-12-13 12:38:30.25 spid51 * Toegangsfout is opgetreden leesadres FFFFFFFFFFFFFFFF
2014-12-13 12:38:30.25 spid51 * Invoerbuffer 54 bytes -
2014-12-13 12:38:30.25 spid51 * exec usp_select1
2014-12-13 12:38:30.77 Serverfout: 17310, ernst: 20, Staat: 1.
2014-12-13 12:38:30.77 Server Een gebruikersverzoek van de sessie met SPID 51 genereerde een fatale uitzondering. SQL Server beëindigt deze sessie. Neem contact op met de productondersteuningsdiensten met de dump die in de map met het logboek is geproduceerd.
De toegangsfout heeft de volgende aanroepstack:
SQLSERVR! TaskGhostCleanup::IsHashed+0x8d
SQLSERVR! TaskGhostCleanup::Enqueue+0x32
SQLSERVR! IndexRowScanner::MoveToRowOnNextPage+0x9c
SQLSERVR! IndexDataSetSession::GetNextRowValuesInternal+0x11cb
Symptoom 3
Nadat u de berichten hebt ontvangen die in de vorige symptoomsecties zijn vermeld, ontvangt u de volgende berichten in het foutenlogboek van SQL Server:
Opmerking
2014-12-13 08:04:53.37 Server proces 0:0:0 (0x23c8) Worker 0x000000002880C1A0 lijkt niet toe te geven op Scheduler 23. Aanmaaktijd thread: 13062953007877. Gebruikte CPU met ca. thread: kernel 0 ms, gebruiker 0 ms. Procesgebruik 0%. Niet-actief systeem 88%. Interval: 70013 ms.
2014-12-13 08:04:53.37 Server proces 0:0:0 (0x71d8) Worker 0x000000002A8D21A0 lijkt niet toe te geven op Scheduler 30. Aanmaaktijd thread: 13062953007891. Gebruikte CPU met ca. thread: kernel 0 ms, gebruiker 0 ms. Procesgebruik 0%. Niet-actief systeem 88%. Interval: 70013 ms.
2014-12-13 08:04:53.38 Server *** Kan geen thread-context krijgen voor spid 0
2014-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 29488
2014-12-13 08:04:53.38 Server *
2014-12-13 08:04:53.38 Server * Niet-renderende Scheduler
2014-12-13 08:04:53.38 Server *
2014-12-13 08:04:53.38 Server * *******************************************************************************
2014-12-13 08:04:53.38 Server Stack Handtekening voor de dump is 0x0000000000000341
2014-12-13 08:04:55.43 Server Externe dumpproces retourcode 0x20000001. Het externe dumpproces heeft geen fouten geretourneerd.
2014-12-13 08:04:55.43 Server proces 0:0:0 (0x9358) Worker 0x0000000081CE41A0 lijkt niet mee te geven op Scheduler 4. Aanmaaktijd thread: 13062953009701. Gebruikte CPU met ca. thread: kernel 0 ms, gebruiker 15 ms. Procesgebruik 0%. Niet-actief systeem 88%. Interval: 70011 ms.
SQL Server reageert op dit moment mogelijk niet op gebruikersaanvragen. Als dit het geval is, moet u de service opnieuw starten om de situatie te corrigeren.
Oorzaak
Dit probleem treedt op omdat bij gebruikersquery's wordt geprobeerd gebruik te maken van de wachtrijen voor ghost cleanup voordat dit proces volledig is geïnitialiseerd.
Oplossing
Servicepack informatie
Om dit probleem op te lossen, downloadt u Service Pack 1 voor SQL Server 2014.
Voor meer informatie over SQL Server 2014 Service Pack 1 (SP1) raadpleegt u de fouten die zijn verholpen in SQL Server 2014 Service Pack 1.
Hotfix voor SQL Server 2008 SP4
Pas KB 3034373 toe om dit probleem op te lossen: Er is een hotfix-updatepakket op aanvraag beschikbaar voor SQL Server 2008 SP4.
Hotfix voor SQL Server 2008 R2 SP3
Pas KB 3033860 toe om dit probleem op te lossen: Er is een hotfix-updatepakket op aanvraag beschikbaar voor SQL Server 2008 R2 SP3.
Informatie over cumulatieve updates
Deze functieverbetering is geïntroduceerd in de volgende cumulatieve update van SQL Server.
Cumulatieve update 6 voor SQL Server 2014 /nl-nl/help/3031047
Cumulatieve update 4 voor SQL Server 2012 SP2 /nl-nl/help/3007556
Cumulatieve update 14 voor SQL Server 2012 SP1 /nl-nl/help/3023636
Informatie over cumulatieve updates voor SQL Server
Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en alle beveiligingspatches die deel uitmaakten van de vorige cumulatieve update. Bekijk de meest recente cumulatieve updates voor SQL Server:
- Meest recente cumulatieve update voor SQL Server 2014
- Laatste cumulatieve update voor SQL Server 2012 SP2
- Laatste cumulatieve update voor SQL Server 2012 SP1
Tijdelijke oplossing
Ga als volgt te werk om dit probleem op te lossen:
- Configureer -T669 als opstartparameter. Deze traceringsmarkering voorkomt dat gebruikersquery's wachtrijaanvragen voor het proces ghost cleanup doorsturen.
- Stel een SQL Server Agent-waarschuwing in om een taak op SQL Msg 3408 te activeren. Stel bijvoorbeeld de volgende waarschuwing in:
Het herstel is voltooid. Dit is alleen een informatief bericht. Er is geen actie van de gebruiker vereist. - Voer binnen deze taak een TSQL-script uit om 5 tot 10 minuten te wachten en voer vervolgens de opdracht DBCC TRACEOFF (669,-1) uit.
Deze procedure zorgt ervoor dat deze traceringsvlag alleen actief is tijdens het opstarten van SQL Server. Het gebruik van deze traceringsvlag heeft geen invloed op de gebruikelijke werking van het proces voor het opschonen van achtergrondspoken.
Status
Microsoft heeft bevestigd dat dit een probleem is met SQL Server en werkt momenteel aan het vinden van een oplossing voor dit probleem. Dit Knowledge Base-artikel wordt bijgewerkt met aanvullende informatie zodra deze beschikbaar is.
Meer informatie
In de opslagengine: Ghost-opschoning uitgebreid
Waarschuwingen
sp_add_alert (Transact-SQL)
DBCC TRACEOFF (Transact-SQL)
Vlaggen aanwijzen
Opstartopties voor database-engine