惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

美团技术团队
IT之家
IT之家
博客园 - Franky
博客园_首页
The Cloudflare Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
量子位
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
V
V2EX
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
M
MIT News - Artificial intelligence
Engineering at Meta
Engineering at Meta
GbyAI
GbyAI
Stack Overflow Blog
Stack Overflow Blog
小众软件
小众软件
Jina AI
Jina AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
Apple Machine Learning Research
Apple Machine Learning Research
B
Blog RSS Feed

博客园 - 努力前上

button按回车触发后台 - 努力前上 - 博客园 Connectionstrings - 努力前上 - 博客园 [C#]包含DataSet类的XML架构怎么不自动生成CS文件了(XSD和CS文件不能合并) 提取HTML代码中文字的C#函数 (转) - 努力前上 - 博客园 危险字符过滤的类(最新完善版)(1) Tree使用 常用的一些javascript小技巧(转) 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)(转) - 努力前上 - 博客园 利用TreeView控件动态生成无限级树(转) - 努力前上 - 博客园 Microsfot.Web.UI.WebControls.TreeView JavaScript控制方法研究(转) (二)execCommand()函数可用参数大解析 JavaScript--execCommand指令集 JS 无刷新排序 js 技巧杂引(转) HTML代码过滤函数 DataGrid 颜色交替 DataGrid双击事件 javascript调用webservice [垃圾猪]防盗链IHttpHandler源码
Asp.Net 备份和恢复SQL SERVER 数据库
努力前上 · 2006-04-12 · via 博客园 - 努力前上

   我们通常备份数据库时,需要登录数据库服务器去备份和恢复,这样很不方便,其实SQL SERVER自带的命令可能让我们很简单地实现远程通过Asp.Net备份和恢复数据库。

BACKUP DATABASE '被备份的数据库名' TO DISK = '备份文件路径';
ALTER DATABASE '被恢复的数据库名' SET OFFLINE WITH ROOLBACK IMMEDIATE;
RESTORE DATABASE '被恢复的数据库名' FROM DISK = '备份文件路径';
ALTER DATABASE '被恢复的数据库名' SET ONLINE WITH ROOLBACK IMMEDIATE;

   简单几条命令就可以完成数据库的备份和恢复,在Asp.Net中,可以像调用Sql语句一样调用这四条语句,轻轻松松实现SQL SERVER数据库的备份和恢复。

   例子(以Northwind为例):
   1、备份Northwind数据库到C盘根目录下,以'Northwind.bak'为名:
        BACKUP DATABASE 'Northwind' TO DISK = 'C:\Northwind.bak';

   2、恢复Northwind数据库,C盘根目录下的'Northwind.bak'备份文件:
       a、将数据库置于离线状态
           ALTER DATABASE 'Northwind' SET OFFLINE WITH ROOLBACK IMMEDIATE;
       b、恢复Northwind数据库
           RESTORE DATABASE 'Northwind' FROM DISK = 'C:\Northwind.bak';
       c、将数据库置于在线状态
           ALTER DATABASE 'Northwind' SET ONLINE WITH ROOLBACK IMMEDIATE;

  恢复数据库:
  关键字:
Alter Database 被恢复的数据库名 Set Offline with Rollback immediate;
            restore database 被恢复的数据库名 from disk = '备份文件路径';
            Alter Database 被恢复的数据库名 Set OnLine With rollback Immediate;

/////////////////////
    string sql = "Alter Database db Set Offline with Rollback immediate;";
//db 是要备份的数据库名
    sql +=  "restore database db from disk = '" ;
    sql += Server.MapPath("").ToString() +"\\";
    sql += bakname + "'";  //bakname 是备份文件名
    sql += "Alter Database db Set OnLine With rollback Immediate;";
    try
    {
     连接 master 数据库 ;
     执行 sql  语句;
     Response.Write("<script language=javascript>alert('数据恢复成功!');</script>");
    }
    catch(Exception ex)
    {
     Response.Write("<script language=javascript>alert('数据恢复失败!');</script>");
     this.Label2.Text = ex.ToString();
    }

备份数据库:

关键字:backup database 被备份的数据库名 to disk ='备份文件路径';
//////////////////////     
 string sql = "backup database db to disk = '" + Server.MapPath("").ToString() +"\\"
    + bakname 

//备份文件名 
    + System.DateTime.Now.DayOfYear.ToString()
    + System.DateTime.Now.Millisecond.ToString() + ".bak'";
   Database data = new Database();
   data.oper_data(sql);
   Response.Write("<script language=javascript>alert('备份成功!');location='restore.aspx'</script>");