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

[ http://blog.sqlauthority.com/2007/04/30/sql-server-fix-error -MSG-3159-Level-16-Zustand-1-line-1-msg-3013-Level-16-Zustand-1-line-1 /] [1]

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.

War es hilfreich?

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.

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