sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man återställer en databas från C#

Jag ändrade mina säkerhetskopierings- och återställningsfunktioner så att de såg ut så här:

public void BackupDatabase(SqlConnectionStringBuilder csb, string destinationPath)
{
    ServerConnection connection = new ServerConnection(csb.DataSource, csb.UserID, csb.Password);
    Server sqlServer = new Server(connection);

    Backup bkpDatabase = new Backup();
    bkpDatabase.Action = BackupActionType.Database;
    bkpDatabase.Database = csb.InitialCatalog;
    BackupDeviceItem bkpDevice = new BackupDeviceItem(destinationPath, DeviceType.File);
    bkpDatabase.Devices.Add(bkpDevice);
    bkpDatabase.SqlBackup(sqlServer);
    connection.Disconnect();

}

public void RestoreDatabase(String databaseName, String backUpFile, String serverName, String userName, String password)
{
    ServerConnection connection = new ServerConnection(serverName, userName, password);
    Server sqlServer = new Server(connection);
    Restore rstDatabase = new Restore();
    rstDatabase.Action = RestoreActionType.Database;
    rstDatabase.Database = databaseName;
    BackupDeviceItem bkpDevice = new BackupDeviceItem(backUpFile, DeviceType.File);
    rstDatabase.Devices.Add(bkpDevice);
    rstDatabase.ReplaceDatabase = true;
    rstDatabase.SqlRestore(sqlServer);
}

På så sätt använder de bara de filer som finns där. Det finns inte längre och direktiv för att flytta filer.



  1. Hur hittar man den anställde med näst högsta lön?

  2. EXPORTERA SOM INFOGA UTTALANDE:Men i SQL Plus åsidosätter raden 2500 tecken!

  3. Lagra bilder i PostgreSQL

  4. Parameteriserad fråga i Oracle-problem