您的位置:首页 > 数据库

sql sever2005数据库备份和还原(Asp.net C#)

2012-07-20 09:57 281 查看
//备份按钮
protectedvoidBtnBack_Click(objectsender,EventArgse)
{

stringsaveAway="D:\\S2.bak";//备份文件保存位置
stringcmdText=@"usemaster;backupdatabaseTrainSearchtodisk='"+saveAway+"'";//TrainSearch数据库名称,你要改为你自己的
SqlCommandcmd=newSqlCommand();
cmd.CommandText=cmdText;
cmd.Connection=con;
con.Open();
cmd.ExecuteNonQuery();
Common.ShowMessage.Show(Page,"yes","备份成功!");
con.Close();
BackUpTimebt=newBackUpTime();
stringtime=DateTime.Now.ToString();
if(bt.EditBackTime(1,time))
{

}
else
{
}

}
//还原按钮
protectedvoidBtnHf_Click(objectsender,EventArgse)
{

stringstrsql_kill="SELECTspidFROMsys.sysprocesses,sys.sysdatabasesWHEREsys.sysprocesses.dbid=sysdatabases.dbidANDsysdatabases.Name='TrainSearch'";
DataSetds=newDataSet();
SqlCommandcmdd=newSqlCommand();
cmdd.Connection=con;
cmdd.CommandText=strsql_kill;
con.Open();
cmdd.ExecuteNonQuery();
SqlDataAdaptersda=newSqlDataAdapter(cmdd);
sda.Fill(ds);

ArrayListlist=newArrayList();
for(intj=0;j<ds.Tables[0].Rows.Count;j++)
{
list.Add(ds.Tables[0].Rows[j][0].ToString());
}

for(inti=0;i<list.Count;i++)
{
cmdd=newSqlCommand("KILL"+list[i].ToString(),con);
cmdd.ExecuteNonQuery();
}
con.Close();

stringcmdText=@"usemaster;restoredatabaseTrainSearchfromdisk='D:\S2.bak'withREPLACE";//D:\S2.bak本分数据库源
SqlCommandcmd=newSqlCommand();
cmd.CommandText=cmdText;
cmd.Connection=con;
con.Open();
cmd.ExecuteNonQuery();
Common.ShowMessage.Show(Page,"yes","还原成功!");
con.Close();
}
当然备份和还原数据库你都可以自己选择路径,我这里了方便就没加那个功能,想实现可以加一个FIleUpload控件用于浏览数据源或者备份路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: