2010-11-18 14 views
0

Comment puis-je restaurer la base de données à partir d'une autre base de données?Restauration de la base de données à partir d'une autre base de données SMO

Quand je fais du fichier de restauration que je fais comme ceci:

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

Mais comment puis-je restaurer à partir de la base de données? Au lieu de donner le fichier bak pour donner la base de données elle-même comme source?

Merci.

Répondre

0

Je pense que vous devriez probablement regarder l'objet SMO Transfer à la place. Mais ceci étant dit, le moyen le plus simple de copier une base de données complète est généralement de la sauvegarder et de la restaurer avec un nom différent. Ou vous pouvez utiliser l'assistant de copie de base de données. Pour plus d'informations, reportez-vous à la section «Copie de bases de données vers d'autres serveurs» dans la documentation en ligne. Pour plus d'informations, reportez-vous à la section relative à la copie de bases de données vers d'autres serveurs.

Questions connexes