博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net 数据库(SqlServer2008)的备份、还原
阅读量:7000 次
发布时间:2019-06-27

本文共 3061 字,大约阅读时间需要 10 分钟。

//备份代码 private void Backup()          {              SqlConnection sqlConn = new SqlConnection(strConn);              strFileName = "databasebackup_" + DateTime.Now.ToString("yyyyMMddhhmmss") + ".bak";              strFile = strPath + strFileName;              strSql = "BACKUP DATABASE TeamWeb to DISK ='" + strFile + "'";              SqlCommand sqlCmd = new SqlCommand(strSql, sqlConn);              Maticsoft.Model.T_DataBaseBackUpInfo model = new Maticsoft.Model.T_DataBaseBackUpInfo();              Maticsoft.BLL.T_DataBaseBackUpInfo bll = new Maticsoft.BLL.T_DataBaseBackUpInfo();              model.Name = strFileName;              model.PostTime = DateTime.Now;              try              {                  sqlConn.Open();                  sqlCmd.ExecuteNonQuery();                  bll.Add(model);                  jc = new JsonClass("备份成功", 1);                  sqlConn.Close();              }              catch (Exception ex)              {                  jc = new JsonClass("备份失败",2);                             }              Response.Write(jc);              Response.End();          }
//还原代码 private void Restore(int id)        {                       Maticsoft.Model.T_DataBaseBackUpInfo model = new Maticsoft.Model.T_DataBaseBackUpInfo();            Maticsoft.BLL.T_DataBaseBackUpInfo bll = new Maticsoft.BLL.T_DataBaseBackUpInfo();            model = bll.GetModel(id);            SqlConnection conn = new SqlConnection("Server=localhost;Database=master;User ID=sa;Password=123456;Trusted_Connection=False");            conn.Open();            try            {                //KILL DataBase Process                SqlCommand cmd = new SqlCommand("SELECT spid FROM SysProcesses ,Master.dbo.sysdatabases WHERE sysprocesses.dbid=sysdatabases.dbid AND sysdatabases.Name='TeamWeb'", conn);                SqlDataReader dr;                dr = cmd.ExecuteReader();                ArrayList list = new ArrayList();                while (dr.Read())                {                    list.Add(dr.GetInt16(0));                }                dr.Close();                for (int i = 0; i < list.Count; i++)                {                    object num = list[i];                    cmd = new SqlCommand(string.Format("KILL {0}", list[i]), conn);                    cmd.ExecuteNonQuery();                }                                string strfile = System.Web.HttpContext.Current.Server.MapPath("../Backup/") + model.Name;                strSql = "use master restore database TeamWeb from disk='" + strfile + "' with replace ";                SqlCommand sqlCmd = new SqlCommand(strSql, conn);                sqlCmd.ExecuteNonQuery();                jc = new JsonClass("还原成功", 1);                conn.Close();                SqlConnection.ClearAllPools();//还原成功后,加上这句话,再次访问数据库,就不会报:在向服务器发送请求时发生传输级错误。            }            catch (Exception ex)            {                jc = new JsonClass("还原失败", 2);            }            Response.Write(jc);            Response.End();        }

 

转载于:https://www.cnblogs.com/chidou-yin/p/3475859.html

你可能感兴趣的文章
java之HashTable
查看>>
Windows Server 2012体验之配置存储池
查看>>
轻松上手移动互联——百度SiteApp建造日志
查看>>
我从跑步中领悟到了什么?
查看>>
你的权限等于你的可见度
查看>>
Gartner:威胁情报的定义
查看>>
redis多实例重启脚本
查看>>
开发人员学Linux(4):使用JMeter对网站和数据库进行压力测试
查看>>
在51系列中data,idata,xdata,pdata的区别
查看>>
【Deeplearning】关注书目
查看>>
【再见RMQ】NYOJ-119-士兵杀敌(三),区间内大小差值
查看>>
loadrunner中Run-time-Setting设置
查看>>
SSL连接建立过程分析(1)
查看>>
port与大全portClose方法
查看>>
美丽的数学家:如果您讨厌数学,这些其实都是人生故事
查看>>
Kettle 中转换(transformation)的执行过程
查看>>
读书笔记-互联网思维阅读10其中一本书《自由》
查看>>
Spark入门实战系列--5.Hive(上)--Hive介绍及部署
查看>>
tomcat设置web根目录
查看>>
CF 444B(DZY Loves FFT-时间复杂度)
查看>>