2010-11-18 100 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对象。

但话虽如此,复制完整数据库的最简单方法通常是将其备份并以不同的名称进行恢复。或者您可以使用复制数据库向导。

请参阅联机丛书中的“将数据库复制到其他服务器”以获取更多信息。

相关问题