Einen Spiegel zerbrechen und wiederherstellen

9

Ich muss einige Wartungsarbeiten an einem sekundären Knoten eines Spiegels durchführen. Da dies darauf zurückzuführen ist, dass die Site langsam wird, während der Spiegel nach einem kurzen Netzwerkausfall wiederhergestellt wird, möchte ich sicher sein und den Spiegel deaktivieren und ihn dann wieder aktivieren, nachdem ich mit dem Stöbern auf dem fehlerhaften Server fertig bin.

Der Plan, den ich gerade habe, ist:

  1. Deaktivieren Sie den Spiegel
  2. Führen Sie meine möglicherweise gefährliche Fehlerbehebung durch
  3. Stellen Sie alle fehlenden Transaktionsprotokolle wieder her
  4. Stellen Sie den Spiegel wieder her

Ist dies der sicherste Weg, um einen Spiegel zu zerbrechen / wiederherzustellen? Gibt es irgendwelche Fallstricke, auf die ich achten sollte?

Zypher
quelle

Antworten:

12

Es hört sich so an, als ob Sie einfach anhalten und Ihren Spiegel wieder aufnehmen möchten. Hast du diesen Link schon gesehen? http://msdn.microsoft.com/en-us/library/ms190664.aspx

Das Problem dabei ist die Zeitspanne, in der der Spiegel voraussichtlich angehalten wird. Wenn Sie zu lange brauchen, kann es auf dem Hauptserver zu einem starken Wachstum des Transaktionsprotokolls kommen. Wenn Sie nicht damit rechnen, für längere Zeit angehalten zu werden, sollte es Ihnen gut gehen.

Wenn Sie der Meinung sind, dass Sie den Spiegel zerbrechen und später fortfahren müssen, sollten Sie Folgendes tun:

Brechen Sie den Spiegel damit gegen das Prinzip: ALTER DATABASE SET PARTNER OFF

Wenn Sie befürchten, dass Ihre Wartung lange dauern wird, sollten Sie regelmäßige Transaktionsprotokollsicherungen durchführen, um sicherzustellen, dass das Protokoll nicht außer Kontrolle gerät und Ihre Festplatten voll sind. Je mehr trx-Protokollsicherungen Sie haben, desto mehr müssen Sie später auf dem Spiegel wiederherstellen.

Nachdem Sie die trx-Protokolle wiederhergestellt haben, sollte die Spiegelung wieder ausgeführt werden können.

Eine andere Option wäre, alles neu zu initialisieren, aber ich weiß nicht, wie groß diese Datenbank ist. Es kann zu viel für Sie sein, um sie wiederherzustellen, daher sind trx-Protokolle möglicherweise die bessere Option.

Dieser Link erklärt es am besten: http://msdn.microsoft.com/en-us/library/ms189112.aspx

Dieser Link behandelt weitere Themen: http://msdn.microsoft.com/en-us/library/ms175059.aspx

HTH

SQLRockstar
quelle
Vielen Dank, der Server wäre für eine unbekannte Zeit ausgefallen und hätte relativ wenig Speicherplatz - sagen wir eine Stunde, bevor es zu einem Problem wird. Aus diesem Grund denke ich, dass das Abschalten des Spiegels die bessere Option ist
Zypher
Ich habe meine Antwort aktualisiert und einige zusätzliche Links
hinzugefügt
Ja, wir haben bereits einen Job, der regelmäßig Transaktionsprotokolle sichert, so dass dieser Teil einfach ist
Zypher