Problem Definition
Unser Datenbankserver muss auf ein anderes Rechenzentrum übertragen werden. Es wird unter Microsoft SQL Server 2012 Enterprise (64-Bit) ausgeführt und enthält zwei Datenbanken mit ca. 2 TB und 1 TB.
Ideal wäre es, wenig oder gar keine Ausfallzeiten zu haben.
Arbeitsbelastung
Diese Datenbanken werden für eine .NET-Website verwendet und werden ständig aktualisiert.
Über das Wochenende nicht verfügbar zu sein, wäre jedoch akzeptabel. Der aktuell verwendete DB bleibt der einzige, der bis zur Umstellung auf den neuen DB verwendet wird.
Dieser Wechsel würde idealerweise einfach dadurch erfolgen, dass DNS-Einträge so geändert werden, dass sie auf den neuen DB-Server verweisen, während sichergestellt wird, dass die DB nicht aktualisiert wird.
Außerdem spielt die Zeit, die für diesen Vorgang benötigt wird, keine Rolle, solange der Wechsel von einem Server zum anderen (Ausfallzeit) gering gehalten wird.
Ansätze berücksichtigt
Sichern und Wiederherstellen
Dies geschah in der Vergangenheit, war jedoch mit einer hohen Ausfallzeit verbunden, obwohl dies über ein internes Netzwerk und damit effizienter als über das Internet erfolgte
Protokollversand
Soweit ich weiß, würde dieser Ansatz Ausfallzeiten minimieren, indem ein Master / Slave konfiguriert und eine exakte Kopie der Master-DB auf den Slave übertragen wird, der nur lesbar ist. Wie oben erwähnt, wäre kein Zugriff auf den Slave erforderlich, und es ist lediglich eine Möglichkeit erforderlich, eine Replik der Master-DB ohne Datenbeschädigung zu erstellen.
Es scheint auch sehr effizient in Bezug auf die Ressourcennutzung zu sein und würde die Masterleistung nicht wesentlich beeinträchtigen.
Ich könnte mich bei diesem Ansatz irren, also zögern Sie nicht, mich zu korrigieren.
Datenbankspiegelung
Ich bin mir dieses Ansatzes nicht allzu bewusst, aber es scheint eine gültige Option zu sein. Es ist nicht unbedingt erforderlich, dass eine Echtzeitsynchronisierung durchgeführt wird, und die Leistung des Masters ist sehr wichtig. Bei diesem Ansatz wäre eine asynchrone Synchronisierung der richtige Weg.
Andere Optionen?
Dieser Server läuft direkt auf Bare-Metal-Hardware, daher sind Lösungen auf niedrigerer Ebene leider keine Option. Vielleicht gibt es einen besseren Weg, dies zu erreichen?
Einschränkungen
Wie beschrieben, sind diese Datenbanken so groß, dass sie schwer zu warten sind, aber das ist ein anderes Problem.
Die Versionen von SQL Server sind identisch (Microsoft SQL Server 2012 Enterprise 64-Bit).
Es muss also höchstwahrscheinlich über das Internet über ein Netzwerk zwischen zwei Rechenzentren übertragen werden. Es ist leider keine Option, Datenträger für eine erste Synchronisierung von einer Site zur anderen zu senden. Eine gewisse Sicherheit für den Transfer wäre ideal, aber wir werden das Beste aus dieser Situation machen.
Das sollte einen recht guten Überblick über unsere Bedürfnisse für diese Aufgabe geben und hoffentlich mussten sich einige von Ihnen zuvor mit dieser Situation auseinandersetzen.