Ich muss die Datenbank (als Ganzes) auf einen anderen Server übertragen, um eine doppelte Datenbank zu erstellen und eine andere Testumgebung einzurichten.
Ich habe zwei Möglichkeiten:
- Erstellen Sie eine vollständige Sicherung auf dem Quellserver und stellen Sie sie auf dem Zielserver wieder her.
- Am Quellserver trennen / am Zielserver anhängen.
Welche Vor- und Nachteile haben die beiden Lösungen gemäß meinen Anforderungen?
Ich verwende SQL Server 2008 Enterprise.
quelle
Wenn Sie sich für die Sicherung / Wiederherstellung entscheiden, verwenden Sie während der Sicherung die Option WITH COPY_ONLY, um sicherzustellen, dass die Sicherungskette eines vorhandenen Wartungsplans nicht unterbrochen wird.
Eine .bak-Datei wird gut komprimiert. Wenn Sie sich also für eine Sicherungskopie entscheiden, können Sie durch Komprimieren der Sicherungskopie vor dem Verschieben Übertragungszeit sparen.
quelle
Ich würde für die Sicherung / Wiederherstellung gehen, da es die ursprüngliche Datenbank in einem Betriebszustand verlässt.
Vor allem, wenn Sie eine "Production to Test" -Konvertierung durchführen, ist es wichtig, dass die Produktionsdatenbank online bleibt.
Das Sichern / Wiederherstellen ist auch eine sicherere Option: Was passiert, wenn die Datei zwischen dem Start der Trennung, der Kopie, dem Anhängen usw. beschädigt wird? Zumindest wenn Sie eine Sicherung durchführen und die Datei beschädigt wird, können Sie von vorne beginnen. Wenn dies bei einer Trennung der Fall ist, ist Ihre Datenbank nicht mehr vorhanden.
Backup / Restore ist für mich (obwohl es mehr ein Gefühl als alles andere ist) "alltägliche Arbeit", wohingegen das Trennen / Anhängen etwas ist, was Sie unter außergewöhnlichen Umständen tun. Frag mich aber nicht, woher ich diese Idee habe ;-)
quelle
Ich hatte schon immer Probleme mit dem "Wiederherstellen" -Teil von Backup / Restore. Ich kann keine Details zitieren, da ich es irgendwann aufgegeben habe und seitdem nicht mehr weiterkomme / kopiere / anhänge.
Das Einzige, was Sie bei der Trennung tun müssen, ist, dass Sie sicherstellen müssen, dass das DBMS nicht auch die Datenbank löscht. Ist das passiert, und es ist kein schöner Anblick.
quelle
Ich empfehle eine
copy_only
Sicherung mit dieser Methode von einer DOS-Shell (damit Sie die Transaktionsprotokolle nicht unterbrechen) :Führen Sie aus dem
C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Backup
Verzeichnis:Wo
backup.bat
enthält (Zeilenumbruch zur besseren Lesbarkeit hinzugefügt) :quelle