9 Stimmen

Wiederherstellen Sie die SQL Server DB direkt aus einer anderen DB

Wie kann ich eine Live-Datenbank wiederherstellen, ohne zuerst ein Backup davon zu machen?

Wir können dies von SQL Server Management Studio aus tun, aber ich möchte dies mit Skript machen, das ich als geplanten Job ausführen kann.

6voto

abatishchev Punkte 94886

Wählen Sie die Wiederherstellungsquelle - eine andere DB. Um ein SQL-Skript zu generieren, drücken Sie die Schaltfläche

https://i.stack.imgur.com/q6RLm.png

2 Stimmen

Hauptnachteil: Dies stellt nur von der letzten Sicherung wieder her. Wenn die letzte Sicherung ziemlich alt ist, würden Sie mit alten Daten enden. (Für alle, die die andere Antwort nicht lesen).

4voto

gyromonotron Punkte 1056

Bitte beachten Sie: Die Verwendung von SQL Server Management Studio zum Wiederherstellen der Datenbank mit der Option "Aus Datenbank", stellt die Datenbank jedoch aus vorhandenem Backup wieder her.

Vielleicht müssen Sie die Datenbank kopieren. In diesem Fall sollten Sie die Backup/Wiederherstellungskombination wie folgt verwenden:

Das folgende Beispiel verwendet sowohl die BACKUP- als auch die RESTORE-Anweisungen, um eine Kopie der AdventureWorks2008R2-Datenbank zu erstellen. Die MOVE-Anweisung bewirkt, dass die Daten- und Protokolldatei an den angegebenen Orten wiederhergestellt wird. Die RESTORE FILELISTONLY-Anweisung wird verwendet, um die Anzahl und Namen der Dateien in der wiederhergestellten Datenbank zu ermitteln. Die neue Kopie der Datenbank wird TestDB genannt.

Kopieren
BACKUP DATABASE AdventureWorks2008R2 
   TO AdventureWorks2008R2Backups ;

RESTORE FILELISTONLY 
   FROM AdventureWorks2008R2Backups ;

RESTORE DATABASE TestDB 
   FROM AdventureWorks2008R2Backups 
   WITH MOVE 'AdventureWorks2008R2_Data' TO 'C:\MySQLServer\testdb.mdf',
   MOVE 'AdventureWorks2008R2_Log' TO 'C:\MySQLServer\testdb.ldf';
GO

Hier ist ein Beispiel, wie der Prozess des Datenbankkopierens automatisiert werden kann - Erstellen einer Kopie einer vorhandenen SQL Server-Datenbank

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X