ASP.NET备份与还原SQL Server数据库
ASP.NET備份與還原SQL Server數據庫
1.備份
??????? SqlConnection connection = new SqlConnection(ConfigurationManager.AppSettings["Connection"]);
??????? string dbFileName = DateTime.Now.ToString("yyyyMMddHHmmss")+".bak";
??????? try
??????? {
??????????? SqlCommand command = new SqlCommand("use master;backup database xxdl to disk=@path;", connection);
??????????? connection.Open();
??????????? string path = Server.MapPath("~\\App_Data") + "\\" + dbFileName;
??????????? command.Parameters.AddWithValue("@path", path);
??????????? command.ExecuteNonQuery();
??????????? lblBackup.Text = "數據庫備份成功";
??????? }
??????? catch (Exception ex)
??????? {
??????????? lblBackup.Text = ex.Message;
??????? }
??????? finally
??????? {
??????????? connection.Close();
??????? }
???????
??????? Bind();//產生了新備份文件,更新下拉框
2 還原
??????? SqlConnection conn = new SqlConnection("Server=.\\sqlexpress;database=master;uid=sa;pwd=sa");
??????? string dbFileName = ddlRestore.SelectedValue;
??????? if (dbFileName == string.Empty)
??????? {
??????????? lblRestore.Text = "沒有數據庫備份文件,請先備份";
??????????? return;
??????? }
??????? try
??????? {
???????? string sql2 = "Alter Database xxdl Set Offline with Rollback immediate;use master;restore database xxdl? from disk=@path With Replace;Alter Database xxdl? Set OnLine With rollback Immediate;";
???????? SqlCommand command = new SqlCommand(sql2,conn);
???????? conn.Open();
???????? string path = Server.MapPath("~\\App_Data") + "\\" + dbFileName;
???????? command.Parameters.AddWithValue("@path", path);
???????? command.ExecuteNonQuery();
??????????? lblRestore.Text = "數據庫還原成功";
??????????? Session.Abandon();
??????????? Response.Redirect("login.aspx");
??????? }
??????? catch (System.Exception ex)
??????? {
??????????? lblRestore.Text = ex.Message;
??????? }
??????? finally
??????? {
??????????? conn.Close();
??????? }
轉載于:https://www.cnblogs.com/gowhy/archive/2011/07/03/2096608.html
總結
以上是生活随笔為你收集整理的ASP.NET备份与还原SQL Server数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文字变化对照表
- 下一篇: 去除U盘插入后自动弹框的问题