Problembeschreibung
Es wird davon ausgegangen, dass Sie den Befehl DBCC CHECKDB ausführen, der einen flüchtigen Snapshot oder einen Snapshot für eine Datenbank mit laufenden Transaktionen in SQL Server 2012 oder SQL Server 2014 erstellt, und die Rollback-Wiederherstellung für den Snapshot schlägt aufgrund eines externen Fehlers fehl, beispielsweise einem e/a-Fehler. In diesem Fall werden die folgenden Fehlermeldungen im SQL Server-Fehlerprotokoll protokolliert, und SQL Server wird unerwartet heruntergefahren:
<Timestamp> <SPID-> <n> Transaktionen, die in der Datenbank "<dbname>" (<ID>) weitergeleitet wurden. Dies ist nur eine Informationsmeldung. Es ist keine Benutzeraktion erforderlich. <Timestamp-> <SPID-> das Betriebssystem den Fehler 665 zurückgegeben hat (der angeforderte Vorgang konnte aufgrund einer Dateisystem Beschränkung nicht abgeschlossen werden), während eines Schreibvorgangs bei Offset <Offset-> in Datei "<filename>". Zusätzliche Nachrichten im SQL Server-Fehlerprotokoll und im Systemereignisprotokoll bieten möglicherweise weitere Details. Hierbei handelt es sich um einen schweren Fehlerzustand auf Systemebene, der die Datenbankintegrität bedroht und sofort korrigiert werden muss. Führen Sie eine vollständige Datenbankkonsistenzprüfung durch (DBCC CHECKDB). Dieser Fehler kann auf viele Faktoren zurückzuführen sein. Weitere Informationen finden Sie unter SQL Server-Online Dokumentation. <Timestamp> <SPID> Fehler: 3314, Schweregrad: 17, Bundesland: 3. <Timestamp-> <SPID-> während des rückgängig Machens eines protokollierten Vorgangs in der Datenbank "<dbname>" trat ein Fehler bei der Protokolldatensatz-ID auf (<AA: BB: CC>). In der Regel wird der spezifische Fehler zuvor als Fehler im Windows-Ereignisprotokolldienst protokolliert. Wiederherstellen der Datenbank oder Datei aus einer Sicherung oder reparieren Sie die Datenbank. <Timestamp> <SPID> Fehler: 831, Schweregrad: 20, Zustand: 1. <Timestamp> <SPID> kann eine gehaltene Seite nicht freigeben. <Timestamp> <SPID> Fehler: 3449, Schweregrad: 21, Zustand: 1. <Timestamp> <SPID> SQL Server muss beendet werden, um eine Datenbank wiederherzustellen (Datenbank-ID <DBID>) Bei der Datenbank handelt es sich entweder um eine Benutzerdatenbank, die nicht heruntergefahren werden konnte, oder um eine Systemdatenbank. Starten Sie SQL Server neu. Wenn die Datenbank nach einem anderen Start nicht wiederhergestellt werden kann, reparieren oder wiederherstellen Sie die Datenbank. <Zeitstempel> <SPID> die SQL-Ablaufverfolgung wurde aufgrund des Herunterfahrens des Servers angehalten. Ablauf Verfolgungs-ID = "1". Dies ist nur eine Informationsmeldung; Es ist keine Benutzeraktion erforderlich. <Timestamp-> <SPID-> die SQL-Ablaufverfolgung aufgrund des Herunterfahrens des Servers angehalten wurde. Ablauf Verfolgungs-ID = "2". Dies ist nur eine Informationsmeldung; Es ist keine Benutzeraktion erforderlich. <Timestamp> <SPID> Fehler: 17188, Schweregrad: 16; Status: 1.
Ursache
Dieses Problem tritt auf, weil SQL Server versucht, die betroffene Datenbank für die Fehlerbehandlung offline zu schalten, wenn eine ROLLBACK-Wiederherstellung für einen Snapshot fehlschlägt. Die Datenbank kann jedoch nicht offline sein, da der Latch intern aufbewahrt wird. Daher wird der SQL Server-Dienst beendet.
Fehlerbehebung
Service Pack-Informationen
Um dieses Problem zu beheben, besorgen Sie sich Service Pack 1 für SQL Server 2014.
Weitere Informationen zu SQL Server 2014 Service Pack 1 (SP1) finden Sie unter Fehler, die in SQL Server 2014 Service Pack 1 behoben wurden.
Informationen zur kumulativen Aktualisierung
Das Problem wurde zuerst im folgenden kumulativen Update von SQL Server behoben.
Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und alle Sicherheitsupdates, die im vorherigen kumulativen Update enthalten waren. Wir empfehlen, die neuesten kumulativen Updates für SQL Server herunterzuladen und zu installieren:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.