Frage

Ich habe eine Datenbank, die die aktuellsten Daten enthält, und ich möchte den Datenbankinhalten in einigen anderen Servern replizieren. Aufgrund der nicht-technischer Gründe kann es nicht direkt Wiederholungsfunktion oder Sync-Funktion verwenden, um andere SQL Server-Instanzen zu synchronisieren.

Nun, ich habe zwei Lösungen, und ich will die Vor- und Nachteile für jede Lösung lernen. Dank!

Lösung 1: trennen Sie die Quelldatenbank, die die aktuellsten Daten enthält, kopieren Sie dann auf den Zielservern, die die aktuellsten Daten benötigen, und fügen Datenbank auf den Zielservern;

Lösung 2: eine vollständige Sicherung der Quellserver für die gesamte Datenbank machen, dann werden die Daten an den Zielserver kopieren und eine vollständige Erholung auf dem Zielserver Seite nehmen

.

Vielen Dank im Voraus, George

War es hilfreich?

Lösung

Die Detach / Attach Option ist oft schneller als ein Backup durchführen, da es nicht um eine neue Datei erstellen hat. Daher ist die Zeit von Server A nach Server B fast ausschließlich die Dateikopierzeit.

Die Backup / Restore Option können Sie eine vollständige Sicherung durchzuführen, wiederherstellen, dass dann eine differenzielle Sicherung durchführen, die Ihre Ausfallzeit bedeutet, dass zwischen den beiden reduziert werden.

Wenn es Datenreplikation Sie nach, bedeutet, dass Sie die Datenbank funktional in beiden Standorten wollen? In diesem Fall möchten Sie wahrscheinlich die Backup / Restore-Option, dass die aktuelle Datenbank voll funktionsfähig verlassen wird.

EDIT: Nur ein paar Punkte zu klären. Durch Ausfallzeiten meine ich, dass, wenn Sie eine Datenbank von einem Server auf einen anderen migrieren, werden Sie in der Regel Menschen werden zu stoppen sie mit, während es auf der Durchreise ist. Daher ist aus dem „Stop“ Punkt auf Server A bis zum „Start“ Punkt auf Server B diese Ausfallzeiten werden könnte in Betracht gezogen. Andernfalls werden alle Aktionen auf der Datenbank auf dem Server A während des Transports durchgeführt wird nicht auf Server B repliziert werden.

In Bezug auf den „eine neue Datei erstellen“. Wenn Sie eine Datenbank trennen können Sie die MDF-Datei sofort kopieren. Es ist bereits dort bereit, kopiert werden. Wenn Sie jedoch eine Sicherung durchführen, müssen Sie warten, bis die BAK-Datei erstellt werden, und es dann zu bewegen, um es für eine Wiederherstellung neue Lage. Dies wiederum kommt darauf an, das ist eine Snapshot-Kopie oder eine Migration.

Andere Tipps

Sichern und macht viel mehr Sinn wiederherstellen, selbst wenn man von einem detach ein paar Minuten eek könnte Option anhängen statt. Sie haben die Original-Datenbank Offline-Modus (trennen alle) vor einer detach, und dann wird der db ist nicht verfügbar, bis Sie wieder an. Sie müssen auch den Überblick über alle Dateien zu halten, während mit einem Backup alle Dateien gruppiert sind. Und mit den neuesten Versionen von SQL Server die Backups komprimiert werden.

Und nur etwas zu korrigieren: DB-Backups und differentielle Backups gestutzt nicht das Protokoll, und nicht die Protokollkette nicht brechen

.

Darüber hinaus ist die COPY_ONLY Funktionalität zählt nur für die differenzielle Basis, nicht für die LOG. Alle Log-Sicherungen können in Folge von jedem Backup angewendet werden, vorausgesetzt, es gibt keine Pause in der Log-Kette war. Es gibt einen kleinen Unterschied mit dem Archiv Punkt, aber ich kann nicht sehen, wo das ist.

Lösung 2 wäre meine Wahl ... In erster Linie becuase es keine Ausfallzeiten auf der Quelldatenbank schaffen. Die einzigen disadvatage ich sehen kann, ist, dass in Abhängigkeit von dem Datenbank-Recovery-Modell, wird das Transaktionsprotokoll Bedeutung abgeschnitten, wenn Sie Daten aus der Transaktion wiederherstellen wollen Protokoll Sie gestopft werden würden, dann würden Sie Ihre Backup-Datei verwenden.

EDIT: Gefunden eine schöne Verbindung; http://sql-server-performance.com/Community/ Foren / p / 5838 / 35573.aspx

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top