用asp.net还原与恢复sqlserver数据库(2)
/// <summary>[来源 www.iocblog.net]
/// 数据库备份
/// </summary>
public bool dbbackup(string url)
{
sqldmo.backup obackup = new sqldmo.backupclass();
sqldmo.sqlserver osqlserver = new sqldmo.sqlserverclass();
try
{
osqlserver.loginsecure = false;
osqlserver.connect(server,uid, pwd);
obackup.action = sqldmo.sqldmo_backup_type.sqldmobackup_database;
obackup.database = database;
obackup.files = url;//"d: orthwind.bak";
obackup.backupsetname = database;
obackup.backupsetdescription = "数据库备份";
obackup.initialize = true;
obackup.sqlbackup(osqlserver);
return true;
}
catch
{
return false;
throw;
}
finally
{
osqlserver.disconnect();
}
}
/// <summary>
/// 数据库恢复
/// </summary>
public string dbrestore(string url)
{
if(exepro()!=true)//执行存储过程
{
return "操作失败";
}
else
{
sqldmo.restore orestore = new sqldmo.restoreclass();
sqldmo.sqlserver osqlserver = new sqldmo.sqlserverclass();
try
{
osqlserver.loginsecure = false;
osqlserver.connect(server, uid, pwd);
orestore.action = sqldmo.sqldmo_restore_type.sqldmorestore_database;
orestore.database = database;
orestore.files = url;//@"d: orthwind.bak";
orestore.filenumber = 1;
orestore.replacedatabase = true;
orestore.sqlrestore(osqlserver);
return "ok";
}
catch(exception e)
{
return "恢复数据库失败";
throw;
}
finally
{
osqlserver.disconnect();
}
}
}
private bool exepro()
{
sqlconnection conn1 = new sqlconnection("server="+server+";uid="+uid+";pwd="+pwd+";database=master");
sqlcommand cmd = new sqlcommand("killspid",conn1);
cmd.commandtype = commandtype.storedprocedure;
cmd.parameters.add("@dbname","port");
try
{
conn1.open();
cmd.executenonquery();
return true;
}
catch(exception ex)
{
return false;
}
finally
{
conn1.close();
}
}
}
}
Tag: 还原 ,恢复
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。