SQL Server 2005 wiederherstellen Failing
-
06-09-2019 - |
Frage
Ausführen von SQL Server 2005 Ich habe Datenbank A. mich aus einer Sicherung von A nach B. Datenbank ich die Datenbank A wiederherstellen möchte versuch behalten und eine neue Testdatenbank B aus einem frühen Satz von Daten erstellen.
Ich habe versucht, B und Wiederherstellung von der BAK-Erstellen und Wiederherstellen von Datenbank von Management Studio nach B.
Der Fehler ist ...
TITEL: Microsoft SQL Server Management
Studio
restore für Server fehlgeschlagen '195.448-APP2'. (Microsoft.SqlServer.Smo)
Für Hilfe, klicken Sie auf: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.1399.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restore+Server&LinkId=20476
------------------------------ ZUSÄTZLICHE INFORMATIONEN:
System.Data.SqlClient.SqlError: Die Backup-Set hält eine Sicherung eines andere Datenbank als die bestehenden ‚B‘ Datenbank. (Microsoft.SqlServer.Smo)
Für Hilfe, klicken Sie auf: http://go.microsoft.com/fwlink ? ProdName = Microsoft SQL + + Server & ProdVer = 9.00.1399.00 & LinkId = 20476
------------------------------ TASTEN:
OK
Ich fand dieses Schnipsel, die ich zögerlich bin zu nutzen und fragen, ob es die Datenbank wiederherzustellen oder hat sie ersetzen Datenbank A Stücke ganz mein Problem der Änderung der Lage der MDF- und LDF während des Prozesses lösen würde.
ALTER DATABASE AdventureWorks
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE
RESTORE DATABASE AdventureWorks
FROM DISK = 'C\:BackupAdventureworks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'C:\Data\datafile.mdf',
MOVE 'AdventureWorks_Log' TO 'C:\Data\logfile.ldf',
REPLACE
und für mich würde ich es machen ...
RESTORE DATABASE B
FROM DISK = 'C:\backupofA.bak'
WITH
MOVE 'B' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B.mdf',
MOVE 'B_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B_log.ldf',
REPLACE
Was ich nicht weiß, ist, wenn es Datenbank A überhaupt beeinflussen. Ich hoffe, die mit B zugehörigen Dateien ersetzen Bezug nimmt.
oder wenn es sein sollte
RESTORE DATABASE B
FROM DISK = 'C:\backupofA.bak'
WITH
MOVE 'A' TO 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B.mdf',
MOVE 'A_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\B_log.ldf',
REPLACE
Wenn mir jemand mit dem Fehler helfen könnte und / oder dieses Update bestätigt Ich wäre sehr dankbar, da es nicht meine Datenbank mit ich spiele.
Danke.
Lösung
Sie könnten einfach verwenden, um den Copy Database Wizard . Wenn Sie möchten, tun es wie Profis und verwenden Sie T-SQL RESTORE .. MOVE ... REPLACE wird tun, was Sie erwartet: bewegen Sie die beiden Dateien an den Standorten Sie beabsichtigen, und Datenbank B mit Inhalten aus dem Backup ersetzen. A wird nicht beeinflusst.
Andere Tipps
würde ich den Assistenten verwenden, wenn ich Sie wäre: in SQL Server Management Studio direkt auf „Datenbanken“ klicken und wählen Sie „Datenbank wiederherstellen ...“. Dieser Dialog / Assistent wird genau das tun, was Sie fordern - wählen Sie einfach die Quelle BAK-Datei (en) / Datenbank, die Sie aus wiederherstellen möchten, geben Sie den Namen der Datenbank, die Sie wiederherstellen möchten, und klicken Sie auf „Ok“.
Einige Hinweise - wenn Sie den Namen einer Datenbank eingeben, die noch existieren tut (es klingt wie das ist, was Sie tun wollen), wird es diese Datenbank für Sie zu erstellen. Wenn Sie den Namen einer vorhandenen Datenbank eingeben, wird es versuchen, die Datenbank wiederherzustellen. Wenn Sie in eine vorhandene Datenbank aus einer Sicherung einer anderen Datenbank vorgenommen wiederherzustellen versuchen, wird es scheitern, jedoch können Sie die SQL Server zwingen, die vorhandene Datenbank zu überschreiben, indem auf „Optionen“ gehen und die Überprüfung der „Überschreiben der vorhandenen Datenbank“ aktivieren.
Auch, wenn Sie eine Sicherungskopie einer vorhandenen Datenbank wiederherstellen eine neue zweite Kopie der Datenbank zu erstellen, können Sie feststellen, dass der Assistent nicht als eine Datenbank zu erstellen versucht, unter Verwendung der gleichen Datenbank-Dateipfade wie die, die derzeit im Einsatz von der Quelldatenbank. Um dies zu beheben, müssen auf „Optionen“ klicken und alle „Wiederherstellen als“ Dateipfade zu Dateien ändern, die noch nicht vorhanden sind.
Sie können diesen Assistenten auch erhalten eine SQL-Skript zu generieren, anstatt die tatsächliche Wiederherstellung tatsächlich durchführen (klicken Sie auf „Skript“ Button oben), was sehr praktisch ist, wenn Sie wissen wollen, wie diese Art der Sache in roh zu tun SQL statt.
Es ist möglich, eine Datenbank von SQL Server 7, SQL Server 2000 auf SQL Server 2005 wiederherzustellen. Es kann durch die Verwendung wiederherstellen und mit ersetzen Befehl erreicht werden
use master
restore database mydatabase from disk ='c:\mybackup.bak' with replace
Es ist einfach eine Sicherung in SQL Server mithilfe dieses Skripts ohne externe Werkzeuge zu nehmen.
Schauen Sie sich wiederherstellen Beispiel .
drop database b zuerst. dann kann die Wiederherstellung.