2010-11-18 97 views
0

如何從其他數據庫恢復數據庫?從另一個數據庫恢復數據庫SMO

,當我從文件做恢復我這樣做:

恢復sqlRestore =新的還原點();

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); 

但我怎麼能從數據庫恢復?而不是給bak文件給數據庫本身作爲源?

謝謝。

回答

0

我想你應該看看SMO Transfer對象。

但話雖如此,複製完整數據庫的最簡單方法通常是將其備份並以不同的名稱進行恢復。或者您可以使用複製數據庫嚮導。

請參閱聯機叢書中的「將數據庫複製到其他服務器」以獲取更多信息。

相關問題