Frage

mit einer seltsamen Ausgabe mit einer Notfallwiederherstellungstechnologie, die wir implementieren möchten. Die Umgebung in beiden Rechenzadern ist derselbe mit VMware und Dell EqualLogic-Sans, die die gleichen Versionen sind.

Wenn wir von einem Rechenzentrum auf einem anderen replizieren, werden zufällige Datenbanken irgendwie beschädigt und im Verdächtigenmodus enden. Jedes Mal, wenn wir diese Methode ausprobieren, werden verschiedene Datenbanken beschädigt. Ist das ein Verhalten in SQL, das dazu führt? Ist dies die Software, die im SAN verwendet wird, um diese Fehler zu replizieren?

Ich konnte den Status der Datenbank in den Notfallmodus ändern und DBCC CheckDB durchführen, es ist jedoch jedes Mal ein anderes Problem und eine andere Datenbank. Einige der Fehler, die ich gefunden habe, sind Indexfragen und Data-Mismating-Probleme. Ich bin immer noch dabei, andere Datenbanken zu überprüfen, um zu sehen, ob ich ein Muster finden kann. Wenn andere Dinge finden, werde ich unbedingt posten, wenn es helfen wird.

Ich habe von Personen gehört, die dieses Verfahren erfolgreich implementieren und es ist die letzte Aufgabe im Projekt, herauszufinden, bevor wir die Projektcharter schließen können.

Ich hatte wirklich gehofft, dass wir einfach die integrierten Funktionen von SQL Server wie Spiegelung oder AO-AGS verwenden konnten.

Die Versionen von SQL sind 2008 R2 und 2012. Wir können einige brandneue SQL 2014-Server installieren. Sie sind auch alle Standard, kein Unternehmen.

Jede Eingabe oder Dinge, die ich probieren könnte, wäre von großer Hilfe, danke im Voraus !!

edit Nr. 1 8/6/15 12:50 Uhr CST - Im Folgenden finden Sie einige der Fehlermeldungen, die ich im Windows-Event-Viewer gefunden habe, was mehr oder weniger ist, was DBCC CheckDB produziert wird.

    .
  • ENTIDID 605 - Versuchen Sie, die logische Seite (1: 22620) in der Datenbank 26 abzuholen, fehlgeschlagen. Es gehört zu Zuteilungseinheit 72057594239385600 nicht bis 72057594249412608
  • EventID 824 - SQL Server erkannte einen logischen Konsistenz-basierten E / A-Fehler: Falsches Pagel (erwartet 1: 1230; eigentlich 0: 0). Es ist während einer Lesen einer Seite (1: 1230) in der Datenbank-ID 58 bei Offset 0x0000000099C000 in der Datei 'D: \ myDatabase.mdf' aufgetreten. Weitere Nachrichten im SQL Server-Fehlerprotokoll oder des Systemereignisstamms können detaillierter bereitgestellt werden. Dies ist eine schwerwiegende Fehlerbedingung, die die Datenbankintegrität bedroht hat, und muss sofort korrekt sein. Füllen Sie eine vollständige Datenbankkonsistenzprüfung (DBCC CheckDB) aus.
  • EventID 7886 - Ein Lesevorgang auf einem großen Objekt fehlgeschlagen, während er Daten an den Client sendet. Eine häufige Ursache dafür ist, wenn die Anwendung in lesbarer isolierter Isolationsniveau läuft. Diese Verbindung wird beendet.
  • EventID 608 - Kein Katalogeintrag für Partition ID 72057594383564800 in der Datenbank 23. Die Metadaten ist inkonsistent. Führen Sie DBCC CheckDB aus, um nach einem Metadaten-Korruption zu suchen.

edit Nr. 2 8/6/15 2:24 PM CST - Empfangene Informationen, die das Wiederherstellen von .bak-Dateien der Datenbanken im Verdächtigenmodus wiederherstellen, fixiert die Angelegenheit.

War es hilfreich?

Lösung

In Bezug auf Ihren Kommentar vermute ich hier ein OPS-Problem anstelle eines SQL Server-Engine-Problems. Diese SAN-Geräte arbeiten normalerweise auf der Blockschicht und einige verwalten Transaktionsprotokoll / Datendateien synchronisieren besser als andere sowie andere Bereiche.

Sie können das Ops-Team anzeigen, dass Nein, SQL Server nicht zufällig fehlerhafte Daten wie diese. Sie können Sicherungen auf einem anderen Server wiederherstellen, Setup-Spiegelung, und all dies geschieht ohne Korruption. In der Minute, in der wir die Replikation von SAN-Level-Replikation machen. Wenn SQL Server Korruption so verursacht hat, wäre es nicht in der Nähe. SQL Server verfügt über fast Millionen von Codezeilen, die sich mit Korruption befassen, Korruption fixieren und das Potenzial der Korruption reduzieren. Sie erhalten dieses Problem in keiner anderen Umgebung und es kommt nur mit der SAN-Replikation auf, richtig?

Firmware ist häufig eine wesentliche Ursache für diese Arten von Problemen. Holen Sie sich Ihren Dell-Support-Rep in der Zeile, sie haben viel mehr Informationen und Fehlerbehebung. Geben Sie sich nicht mit einem faulen Repräsentanten zufrieden, die Daten und Uhrzeit Ihres Unternehmens befinden sich in der Zeile. Sie haben viele Werkzeuge, die überprüfen, um zu sehen, was dies im Hintergrund und andere Werkzeuge wie DPAC verursacht, die helfen könnten. Dies ist kein SQL Server-Engine-Problem, wir benötigen die volle Unterstützung von OPS.

edit: Wenn Ihre Firmware veraltet oder unübertroffen ist, erhalten Sie eine Richtlinie aus dem OPS-Team, das das SAN verwaltet, das heißt, sie halten die Firmware über den Stapel der Maschinen, die sie auf dem neuesten Stand halten. Wenn diese SLA nicht existiert, sollten Sie ihn an Ihre Manager aufmerksam machen, da Sie daneben viele andere Probleme ausgesetzt sind.

Ich gehe davon aus, dass Sie die Replikation von SAN-Blockniveau verwenden.

Es könnte oft auch Nichtübereinstimmung in den Einstellungen sein. Möglicherweise verschiedene Blockgrößen usw. Aber das SAN-Betriebssystem sollte diese Probleme in der Regel erkennen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit dba.stackexchange
scroll top