Ich habe eine Datenbank A. Sie enthält einige Daten. Ich habe ein Backup für A als A.bak- Datei erstellt. Dann erstelle ich eine neue leere Datenbank B. Und dann versuche ich, B aus A.bak wiederherzustellen . Aber der SQL Server sagt mir den folgenden Fehler:
Die Datei 'C: \ SQL-Verzeichnis \ DATA \ A.mdf' kann nicht überschrieben werden. Es wird von der Datenbank 'A' verwendet.
Wenn ich jedoch A von SQL Server lösche, ist die Wiederherstellung in Ordnung.
Ich verstehe nicht, warum SQL beim Wiederherstellen von einer separaten Sicherungsdatei in die ursprüngliche Datenbankdatei schreiben muss .
Vielen Dank ~
quelle
Wenn Sie die Sicherung wiederherstellen, können Sie die wiederherzustellenden Datendateien angeben.
Schau hier und hier . Sie können die Option "Datenbankdateien wiederherstellen als" und das Flag "Vorhandene Datenbank überschreiben" verwenden.
quelle
Verwenden Sie die Option REPLACE entweder im TSQL-Befehl oder als ausgewähltes Kontrollkästchen? Alternativ können Sie die Dateien umbenennen und der Datenbank einen anderen Namen geben.
Es ist auch etwas schwierig, eine Datenbank wiederherzustellen, die gerade verwendet wird. Sie müssen die Prozesse mithilfe der Datenbank beenden. ODER löschen Sie zuerst die Datenbank und schließen Sie die Verbindungen (dies ist wahrscheinlich die einfachste). ODER stellen Sie die Datenbank, die Sie überschreiben möchten, auf einen eingeschränkten Benutzermodus mit sofortigem Rollback ein, damit hoffentlich nur DBAs sie verwenden können. ODER stoppen Sie sogar SQL Server und starten Sie ihn neu - hoffentlich wird die Wiederherstellung ausgeführt, bevor jemand diese Datenbank verwendet.
PS: Erstellen Sie für alle Fälle eine Sicherungskopie der zu überschreibenden Datenbank.
quelle
Wenn jemand eine Lösung in der Benutzeroberfläche von Management Studio sucht, nachdem er die
Options
Seite bereits verwendet und dieOverwrite the existing database (WITH REPLACE)
Option aktiviert hat :Klicken Sie einfach in die
Restore As
Spalte und ändern Sie die Dateinamen der*.mdf
Datei und der*.ldf
Datei.quelle