
Alle,
Ich bin gerade dabei, SQL AlwaysOn zu testen, und alles funktioniert wie erwartet, außer in einem Fall, wenn die Festplatte den Geist aufgibt. In diesem Fall macht SQL nichts, außer die folgenden beiden Fehler anzuzeigen.
Der Fehler ist nachvollziehbar, da ich das Laufwerk gelöscht habe, das auch TempDB enthält. Was mir jedoch Sorgen macht, ist, dass das Löschen des Laufwerks nicht katastrophal genug zu sein scheint, um ein Failover auszulösen.
Übersehe ich hier etwas? Ich habe versucht, das Laufwerk zu wsfc hinzuzufügen, aber da es sich nicht um ein Clusterlaufwerk handelt, scheint es nicht zu funktionieren, da jedes Laufwerk eines einzelnen Servers als separate Ressource angezeigt wird.
Bearbeitung 1: Der einzige Ereignisprotokolleintrag lautet wie folgt. Auch hier handelt es sich um einen erwarteten Fehler.
Das Betriebssystem hat während eines Lesevorgangs am Offset 0x00000000382000 in der Datei „E:\Data\vcdb.mdf“ den Fehler 21 (Das Gerät ist nicht bereit.) an SQL Server zurückgegeben. Weitere Nachrichten im SQL Server-Fehlerprotokoll und im Systemereignisprotokoll können weitere Einzelheiten liefern. Dies ist ein schwerwiegender Fehler auf Systemebene, der die Datenbankintegrität gefährdet und sofort behoben werden muss. Führen Sie eine vollständige Datenbankkonsistenzprüfung durch (DBCC CHECKDB). Dieser Fehler kann viele Ursachen haben. Weitere Informationen finden Sie in der SQL Server-Onlinedokumentation.
Antwort1
Der Verlust einer Datenbankdatei, selbst einer so wichtigen wie der Tempdb-Datei, ist immer noch ein Ereignis auf Datenbankebene.
Laut diesem Microsoft Technet-Artikel:
(Failover und Failover-Modi (AlwaysOn-Verfügbarkeitsgruppen))
Probleme auf Datenbankebene, z. B. wenn eine Datenbank aufgrund des Verlusts einer Datendatei, der Löschung einer Datenbank oder der Beschädigung eines Transaktionsprotokolls verdächtig wird, führen nicht zu einem Failover einer Verfügbarkeitsgruppe.