ASP.NET备份数据库
ASP.NET响应用户的请求(例如:点击备份按钮)在后台启动备份数据库的操作并立即返回,用户在前台通过AJAX可以得到备份成功或者失败的消息。该如何设计和实现这样的功能呢?望高手解答 asp.net --------------------编程问答-------------------- http://www.cnblogs.com/jinzhao/archive/2009/10/09/1579473.html
ajax调用成功,返回成功信息,前台判断返回信息给出相应的提示 --------------------编程问答--------------------
如何在ASP.NET后台启动备份操作然后立即返回,并且为后续的AJAX调用提供备份是否完成的数据呢? --------------------编程问答-------------------- 为什么要点击就立即返回呢?等返回备份是否成功在返回不行吗? --------------------编程问答--------------------
数据库大的时候,备份操作可能持续好几分钟,这样的话一是用户体验不好,二是ASP.NET会超时。 --------------------编程问答-------------------- 那如果不成功呢? --------------------编程问答--------------------
那你返回还不是一样要等,可以给用户展现一个进度条,不会让用户盲目的等 --------------------编程问答-------------------- 使用ajax异步操作,如采用同步的话就会出现画面卡死的情况,假如数据库比较大,那么备份时间是比较长的 --------------------编程问答--------------------
#region 创建备份--------------------编程问答-------------------- 在远程系统实现的话,恐怕用户体验会很差的。用WINFORM的吧,还不如用SQL SERVER等数据库的客户端管理器来备份呢。 --------------------编程问答--------------------
protected void LinkButton1_Click(object sender, EventArgs e)
{
//创建文件夹
string VMdata = "DB";
string address = Server.MapPath("~\\Data\\");
DirectoryInfo dir = new DirectoryInfo(VMdata);
if (!dir.Exists == false)
{
ui.Alert(this, "此数据库不存在");
}
else
{
//判断文件夹是否存在
if (!System.IO.Directory.Exists(address))
{
//创建文件夹
System.IO.Directory.CreateDirectory(address);
}
else
{
//调用备份数据库的方法
BackUpDB1(address);
ui.Alert(this, "数据库备份成功");
//重新绑定
CreateTable();
}
}
}
#endregion
#region 备份数据库(本地备份)
public string BackUpDB1(string backAddress)
{
try
{
StringBuilder sql = new StringBuilder();
string DataName = "DB" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".bak";
//备份后的文件名称为原数据库名称+时分秒
sql.Append("backup database DB to disk='" + backAddress + DataName + "'");
db.ExecuteReader(sql.ToString());
return DataName;
}
catch (Exception)
{
throw;
}
}
#endregion
我也想到了,数据量太大的话,WEB中备份数据库的体验肯定不好。无奈,客户想要这个功能。 --------------------编程问答-------------------- 可以单击“备份”后动态的图片弹出(假进度条),这样用户感觉系统在运转,体验好点,备份完图片隐藏 --------------------编程问答-------------------- 备份数据库使用 SQLDMO,都快成了思维定势了。
一个简单的sql代码就可以备份了。
补充:.NET技术 , ASP.NET