.Net 数据库(SqlServer2008)的备份、还原
//备份代码
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)的备份、还原的更多相关文章
- SQL 数据库 学习 005 学习必备的一些操作 --- 如何新建数据库 如何附加和分离数据库(如何备份还原数据库) 如何删除数据库
我的电脑系统: Windows 10 64位 使用的SQL Server软件: SQL Server 2014 Express 如果我们要学习这个数据库,我们需要学习什么知识.比如:如何新建一个数据库 ...
- sqlserver数据库附加分离备份还原命令
--获取所有数据库的名称 select [name] from master.dbo.sysdatabases where [name]='master' --判断数据库是否存在 if exists( ...
- 利用shell脚本自动化备份数据库与手动备份还原数据库操作
1.在linux操作系统上手动备份数据库 mysqldump -h 服务器IP地址 -u root -p数据库密码 --databases 所要备份的数据库名称 > /路径/数据库.sql(自定 ...
- SQL数据库增量备份还原方式
SQLSERVER2008的备份还原最基本的方式自然是完整备份,然后完整还原即可. 但是如果遇到数据库文件很大,数据量很大,备份和还原需要花费不少时间的时候, 数据库的差异备份自然就成为考虑的备份方案 ...
- MYSQL的日志与备份还原
一.错误日志 当数据库出现任何故障导致无法使用时,第一时间先去查看该日志 1.服务器启动关闭过程中的信息 2.服务器运行过程中的错误信息 日志存放路径,可以通过命令查看: 日志文件命名格式:host_ ...
- SQL Server 数据库备份还原和数据恢复
认识数据库备份和事务日志备份 数据库备份与日志备份是数据库维护的日常工作,备份的目的是在于当数据库出现故障或者遭到破坏时可以根据备份的数据库及事务日志文件还原到最近的时间点将损失降到最低点. 数据 ...
- MySQL 拷贝数据库表方式备份,还原后提示 table xxx '' doesn`t exist
MySQL很强大,支持直接拷贝数据库文件快速备份,那数据库文件在哪里呢? 打开MySQL的配置文件 my.ini,找到 datadir 节点,如 datadir="D:/Program Fi ...
- SQL server 数据库备份还原Sql
/************ 一.数据库备份 ************/ --完整备份默认追加到现有的文件 backup database DBXS To disk='d:\backup\DBXS_fu ...
- 使用mysqldump进行mysql数据库备份还原
mysqldump是mysql自带的备份还原工具,默认在安装目录的bin下 可通过cmd命令行启动,然后运行: 还原一个数据库: mysql -h 主机 -u 用户名 -p密码 数据库名 < 指 ...
随机推荐
- 自定义标签库_tag
1)最简单的标签库 1,继承Tag接口,重写doEndTag()方法,返回类型不同后面流程不一样 想要jsp的内容必须重写了setPageContent()方法 再JspWriter out = pa ...
- bzoj 4671 异或图——容斥+斯特林反演+线性基
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4671 考虑计算不是连通图的方案,乘上容斥系数来进行容斥. 可以枚举子集划分(复杂度是O(Be ...
- .Net上传文件超过了最大请求长度
错误消息:超过了最大请求长度 错误原因:asp.net默认最大上传文件大小为4M,运行超时时间为90S. 修改web.config文件可以改变这个默认值为 <configuration&g ...
- log4net内部调试开启
最近用log4net写入日志到mysql数据库,死活写不进去,就想能不能看log4net的错误记录,在网上一找,还真有:开启log4net的内部调试,作个记录: <appSettings> ...
- java代码从键盘输入次数,然后进行运算-----菜鸟如此菜
package com.aaa; import java.util.Scanner; // //求两数相加的和.从键盘输入 public class ftwert { public static vo ...
- 杂项:UN-HTML
ylbtech-杂项:HTML 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回顶部 1 ...
- Laravel5 cookie和session设置 Cookie::queue()自动添加
Cookies Laravel会加密所有已创建的cookie信息,并附加上授权码,当客户端擅自修改cookie信息时,该cookie将被废弃,从而保证安全性. 获取一个指定的cookie值 $valu ...
- microtime() 测试代码执行时间,提高编码效率
<?php $b_time = microtime(true); $a = array("); $count = ; foreach ($a as $key => $value) ...
- C#泛型参数多线程与复杂参数多线程
背景:最近用多线程用的比较多自己走了一些弯路,分享出来希望大家少走弯路,C#中的多线程有两个重载,一个是不带参数的,一个是带参数的,但是即便是带参数的多线程也不支持泛型,这使得使用泛型参数多线程的时候 ...
- Nginx反向代理图片总结
配置需求: 内网192.168.80.205的机器上部署了一个Web项目,下文称web, url为http://192.168.80.205:8082. 并且使用nginx访问图片,url格式 ...