Symptom
Under start av Microsoft SQL Server märker du ett eller flera av följande problem omedelbart efter återställning av databasen är slutförd och klient anslutningar är aktiverade.
Symptom 1
Du får fel meddelanden och intyg som liknar följande i SQL Server-felloggen:
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'. Det här felet kan vara tidsrelaterat. Om felet kvarstår efter att du har kört instruktionen kan du använda DBCC CHECKDB för att kontrol lera databasens strukturella integritet eller starta om servern för att säkerställa att data strukturer i minnet inte är skadade.
Symptom 2
Du får fel meddelanden och undantag som liknar följande i SQL Server-felloggen:
2014-12-13 12:38:30.25 spid51 med ' dbghelp. dll ' version ' 4.0.5 ' 2014-12-13 12:38:30.25 spid51 * * * stackens dump skickas till C:\Program\Microsoft SQL Server \ MSSQL10_50. SQL2008R2\MSSQL\LOG\SQLDump0003.txt2014-12-13 12:38:30.25 spid51 SqlDumpExceptionHandler: process 51 genererade oåterkalleligt undantag c0000005 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. SQL Server avslutar den här sessionen. Kontakta produkt Support tjänster med den dumpade dumpningen i logg katalogen. Åtkomst felet kommer att ha följande anrops stack: Sqlservr! TaskGhostCleanup:: IsHashed + 0x8dsqlservr! TaskGhostCleanup:: köa + 0x32sqlservr! IndexRowScanner:: MoveToRowOnNextPage + 0x9csqlservr! IndexDataSetSession:: GetNextRowValuesInternal + 0x11cb
Problem 3
När du har fått meddelanden som nämns i föregående symptom avsnitt får du följande meddelanden i SQL Server-felloggen:
2014-12-13 08:04:53.37 Server process 0:0:0 (0x23c8) Worker-0x000000002880C1A0 verkar inte vara i schema 23. Tråd skapande tid: 13062953007877. Uppskattad tråd processor används: kernel 0 MS, User 0 MS. Bearbeta användning 0%. System Idle 88%. Intervall: 70013 MS. 2014 – 12-13 08:04:53.37 Server process 0:0:0 (0x71d8) Worker-0x000000002A8D21A0 verkar vara icke-kapacitet på Schemalagdare 30. Tråd skapande tid: 13062953007891. Uppskattad tråd processor används: kernel 0 MS, User 0 MS. Bearbeta användning 0%. System 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. Den externa dumpnings processen gav inga fel. 2014-12-13 08:04:55.43 Server process 0:0:0 (0x9358) Worker-0x0000000081CE41A0 verkar inte vara i schema 4. Tråd skapande tid: 13062953009701. Uppskattad tråd processor används: kernel 0 MS, användare 15 MS. Bearbeta användning 0%. System Idle 88%. Intervall: 70011 MS.
SQL Server kanske inte svarar på användarnas begär Anden just nu. Om så är fallet måste du starta om tjänsten för att åtgärda problemet.
Orsak
Det här problemet uppstår eftersom användar frågor försöker använda Ghost-rensnings köerna innan den här processen är fullständigt initierad.
Lösning
Information om Service Pack
Lös problemet genom att skaffa Service Pack 1 för SQL Server 2014.
Mer information om SQL Server 2014 Service Pack 1 (SP1) finns i program fel som åtgärdas i SQL Server 2014 Service Pack 1.
Snabb korrigering för SQL Server 2008 SP4
Lös det här problemet genom att använda KB 3034373: ett uppdaterings paket på begäran är tillgängligt för SQL Server 2008 SP4.
Snabb korrigering för SQL Server 2008 R2 SP3
Lös det här problemet genom att använda KB 3033860: ett uppdaterings paket på begäran är tillgängligt för SQL Server 2008 R2 SP3.
Kumulativ uppdaterings information
Funktions förbättringen introducerades i den kumulativa uppdateringen av SQL Server.
Kumulativ uppdatering 6 för SQL Server 2014 /en-us/help/3031047
Kumulativ uppdatering 4 för SQL Server 2012 SP2 /en-us/help/3007556
Kumulativ uppdatering 14 för SQL Server 2012 SP1 /en-us/help/3023636
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Lösning
Lös problemet genom att följa de här stegen:
-
Configure -T669 som start parameter. De här spårnings flaggorna hindrar användar frågor från köer till rensnings processen.
-
Konfigurera en SQL Server Agent-avisering för att utlösa ett jobb på SQL-3408. Du kan till exempel ställa in följande avisering:
Återställningen är klar. Detta är endast ett informations meddelande. Ingen användar åtgärd krävs.
-
I det här jobbet kör du ett TSQL-skript för att vänta i 5 till 10 minuter och kör sedan kommandot DBCC TRACEOFF (669,-1) .
Med den här proceduren kontrollerar du att den här spårnings flaggan endast är aktiv vid start av SQL Server. Användning av den här spårnings flaggan påverkar inte den vanliga funktionen för rensning av bakgrunds Ghost.
Status
Microsoft har bekräftat att det här är ett problem med SQL Server och att den undersöker en korrigering för det här problemet. Den här Knowledge Base-artikeln uppdateras med ytterligare information när den blir tillgänglig.
Referenser
Inuti lagrings motorn: Ghost-rensning i djup varningar sp_add_alert (Transact-SQL) DBCC TRACEOFF (Transact-SQL) spårnings flaggor Start alternativ