//备份代码
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("备份成功", );
sqlConn.Close();
}
catch (Exception ex)
{
jc = new JsonClass("备份失败",); } 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());
}
dr.Close();
for (int i = ; 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("还原成功", );
conn.Close();
SqlConnection.ClearAllPools();//还原成功后,加上这句话,再次访问数据库,就不会报:在向服务器发送请求时发生传输级错误。
}
catch (Exception ex)
{
jc = new JsonClass("还原失败", ); } Response.Write(jc);
Response.End();
}

.Net 数据库(SqlServer2008)的备份、还原的更多相关文章

  1. SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库

    我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识.比如:如何新建一个数据库 ...

  2. sqlserver数据库附加分离备份还原命令

    --获取所有数据库的名称 select [name] from master.dbo.sysdatabases where [name]='master' --判断数据库是否存在 if exists( ...

  3. 利用shell脚本自动化备份数据库与手动备份还原数据库操作

    1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定 ...

  4. SQL数据库增量备份还原方式

    SQLSERVER2008的备份还原最基本的方式自然是完整备份,然后完整还原即可. 但是如果遇到数据库文件很大,数据量很大,备份和还原需要花费不少时间的时候, 数据库的差异备份自然就成为考虑的备份方案 ...

  5. MYSQL的日志与备份还原

    一.错误日志 当数据库出现任何故障导致无法使用时,第一时间先去查看该日志 1.服务器启动关闭过程中的信息 2.服务器运行过程中的错误信息 日志存放路径,可以通过命令查看: 日志文件命名格式:host_ ...

  6. SQL Server 数据库备份还原和数据恢复

      认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据 ...

  7. MySQL 拷贝数据库表方式备份,还原后提示 table xxx '' doesn`t exist

    MySQL很强大,支持直接拷贝数据库文件快速备份,那数据库文件在哪里呢? 打开MySQL的配置文件 my.ini,找到 datadir 节点,如 datadir="D:/Program Fi ...

  8. SQL server 数据库备份还原Sql

    /************ 一.数据库备份 ************/ --完整备份默认追加到现有的文件 backup database DBXS To disk='d:\backup\DBXS_fu ...

  9. 使用mysqldump进行mysql数据库备份还原

    mysqldump是mysql自带的备份还原工具,默认在安装目录的bin下 可通过cmd命令行启动,然后运行: 还原一个数据库: mysql -h 主机 -u 用户名 -p密码 数据库名 < 指 ...

随机推荐

  1. Python学习笔记之os模块

    Python中的os提供了非常丰富的方法用来处理文件和目录,下面我们将详细的介绍os相关的一些方法和函数: os 路径相关的函数: 1.os.listdir(dirname):列出dirname目录下 ...

  2. zabbix监控的配置

    ZABBIX监控的操作步骤有两个! 首先登录到zabbix 的主界面在configuration---host---create host在如上的host 创建界面中 主要是输入被监测的server的 ...

  3. redis事务和redis集群

    一.事务(相对mysql来说简单) 1. 比较 ①:mysql ----->start trantation ---->普通sql ------->回滚rollback------& ...

  4. html 文字垂直居中

    html  文字垂直居中 <span style="float:right; padding-right:30px;line-height:64px" class=" ...

  5. xml处理模块

    xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的 ...

  6. python3+ros+telnet+telnetlib

    利用python3的telnetlib模块 远程登录ros,输入帐号密码,然后执行命令,并导出结果到txt文本: 不过实际操作这种方式不行,因为telnet导出来的文本文件,带颜色编码,根本无法看哦. ...

  7. php爬虫神器cURL

    cURL 网页资源(编写网页爬虫) 接口资源 ftp服务器文件资源 其他资源 static public function curl($url, $data = array(), $timeout = ...

  8. 学习笔记::fft

    上次学fft还是5月份,昨天发现已经忘记怎么推导了,代码也看不懂了,就又学习了一发,大概是看menci的博客 0.fft可以进行多项式乘法,朴素的乘法跟手算一样是O(n^2),fft可以通过分治做到n ...

  9. seureCRT快捷键

    前言    secureCRT 是一个非常不错的终端软件,在嵌入式开发过程中经常使用到,所以了解一下其快捷键操作是非常有必要的,可以提高开发效率. 复制:[ctrl] + [shift] + c 粘贴 ...

  10. Android 4 学习(16):Database and Content Providers

    参考<Professional Android 4 Development> Database and Content Providers Android Database简介 Andro ...