2010-11-18 11 views
0

Wie kann ich die Datenbank aus einer anderen Datenbank wiederherstellen?Wiederherstellen der Datenbank aus einer anderen Datenbank SMO

Wenn ich aus der Datei tun wiederherstellen i wie folgt tun:

wiederherstellen sqlRestore = new Restore();

BackupDeviceItem deviceItem = new BackupDeviceItem(filePath, DeviceType.File); 
    sqlRestore.Devices.Add(deviceItem); 
    sqlRestore.Database = databaseName; 

    ServerConnection connection = new ServerConnection(serverName, userName, password); 
    Server sqlServer = new Server(connection); 

    Database db = sqlServer.Databases[databaseName]; 
    sqlRestore.Action = RestoreActionType.Database; 
    String dataFileLocation = dataFilePath + databaseName + ".mdf"; 
    String logFileLocation = logFilePath + databaseName + "_Log.ldf"; 


    sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName, dataFileLocation)); 
    sqlRestore.RelocateFiles.Add(new RelocateFile(databaseName+"_log", logFileLocation)); 
    sqlRestore.ReplaceDatabase = true; 


    sqlRestore.SqlRestore(sqlServer); 

Aber wie kann ich aus der Datenbank wiederherstellen? Anstatt bak-Datei zu geben, um die Datenbank selbst als Quelle zu geben?

Danke.

Antwort

0

Ich denke, Sie sollten sich wahrscheinlich stattdessen das SMO Transfer-Objekt ansehen.

Aber, das gesagt, ist der einfachste Weg, eine vollständige Datenbank zu kopieren, es zu sichern und es mit einem anderen Namen wieder herzustellen. Oder Sie können den Assistenten zum Kopieren von Datenbanken verwenden.

Weitere Informationen finden Sie unter "Kopieren von Datenbanken auf andere Server" in der Onlinedokumentation.