sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man återställer SQL Server-databas genom C#-kod

Jag föredrar att använda SMO för att återställa en säkerhetskopia:

Microsoft.SqlServer.Management.Smo.Server smoServer = 
     new Server(new ServerConnection(server));

Database db = smoServer.Databases['MyDataBase'];
string dbPath = Path.Combine(db.PrimaryFilePath, 'MyDataBase.mdf');
string logPath = Path.Combine(db.PrimaryFilePath, 'MyDataBase_Log.ldf');
Restore restore = new Restore();
BackupDeviceItem deviceItem = 
    new BackupDeviceItem('d:\MyDATA.BAK', DeviceType.File);
restore.Devices.Add(deviceItem);
restore.Database = backupDatabaseTo;
restore.FileNumber = restoreFileNumber;
restore.Action = RestoreActionType.Database;
restore.ReplaceDatabase = true;
restore.SqlRestore(smoServer);

db = smoServer.Databases['MyDataBase'];
db.SetOnline();
smoServer.Refresh();
db.Refresh();

Du behöver referenser till Microsoft.SqlServer.Smo, Microsoft.SqlServer.SmoExtended och Microsoft.SqlServer.Management.Sdk.Sfc



  1. Hur kan jag ta bort dubbletter av rader?

  2. SQLSTATE[22007]:Ogiltigt datetime-format:1366 Felaktigt heltalsvärde:'column_name' i Laravel

  3. Höj uttalande

  4. Räknar med villkor