源码如下:
数据库备份:(其中:TextBox1.Text = "c:\\schoolmanagebackup("+DateTime.Now.ToShortDateString()+").bak")
string commstr = "'"+ TextBox1.Text + "'";
string backup_sql = "use schoolmanage2005;backup database schoolmanage2005 to disk=" + commstr + " with INIT;";
SqlCommand comm = new SqlCommand(backup_sql, conn);
try
{
conn.Open();
comm.ExecuteNonQuery();
Response.Write("<script language=javascript>alert('数据库备份成功,备份文件在C盘根目录下!')</script>");
}
catch
{
Response.Write("<script language=javascript>alert('数据库备份失败!')</script>");
}
finally
{
conn.Close();
}
数据库恢复:
string path = "'"+FileUpload1.PostedFile.FileName+"'";
string sql = "use master;Alter Database schoolmanage2005 Set Offline with Rollback immediate;";
sql += "Restore Database schoolmanage2005 from disk = @bkfile;";
sql += "Alter Database schoolmanage2005 Set OnLine With rollback Immediate;";
SqlCommand comm = new SqlCommand(sql, conn);
comm.Parameters.AddWithValue("@bkfile", path);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
错误信息:
无法打开备份设备 ''C:\schoolmanagebackup(2006-9-6).bak''。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
RESTORE DATABASE 操作异常终止。
已将数据库上下文改为 'master'。
数据库备份:(其中:TextBox1.Text = "c:\\schoolmanagebackup("+DateTime.Now.ToShortDateString()+").bak")
string commstr = "'"+ TextBox1.Text + "'";
string backup_sql = "use schoolmanage2005;backup database schoolmanage2005 to disk=" + commstr + " with INIT;";
SqlCommand comm = new SqlCommand(backup_sql, conn);
try
{
conn.Open();
comm.ExecuteNonQuery();
Response.Write("<script language=javascript>alert('数据库备份成功,备份文件在C盘根目录下!')</script>");
}
catch
{
Response.Write("<script language=javascript>alert('数据库备份失败!')</script>");
}
finally
{
conn.Close();
}
数据库恢复:
string path = "'"+FileUpload1.PostedFile.FileName+"'";
string sql = "use master;Alter Database schoolmanage2005 Set Offline with Rollback immediate;";
sql += "Restore Database schoolmanage2005 from disk = @bkfile;";
sql += "Alter Database schoolmanage2005 Set OnLine With rollback Immediate;";
SqlCommand comm = new SqlCommand(sql, conn);
comm.Parameters.AddWithValue("@bkfile", path);
conn.Open();
comm.ExecuteNonQuery();
conn.Close();
错误信息:
无法打开备份设备 ''C:\schoolmanagebackup(2006-9-6).bak''。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
RESTORE DATABASE 操作异常终止。
已将数据库上下文改为 'master'。
程序中你是否是用sa的用户进行登陆备份的?
我这里有一个例子,需要用到mssql 2000 中的一个dll的,调试通过的http://www.dj9158.com/ShowFileData.aspx?ID=34