[转贴]ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程
Sql server的帮助文档地址,在IE里面直接输入就行
mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_ba-bz_35ww.htm
backup database to disk path备份
restore database from disk path恢复
using System;
using System.Collections;
using System.Security.Cryptography;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Diagnostics ;
using System.Text ;
using System.ComponentModel;
using System.Configuration;
using System.Data.OleDb;
namespace DbService
{
/// <summary>
/// DbOper类,主要实现对Microsoft SQL Server数据库的备份和恢复
/// </summary>
public sealed class DbOper
{
/// <summary>
/// DbOper类的构造函数
/// </summary>
//private DbOper()
//{
//}
/// <summary>
/// 数据库备份
/// </summary>
///
public static string BackFileName=System.Web.HttpContext.Current.Request.PhysicalApplicationPath+"BackUp\\MyDbBack.bak";
public static void DbBackup(string DbNanme,string userid,string pwd)
{
try
{
SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
oSQLServer.LoginSecure = false;
oSQLServer.Connect("localhost",userid,pwd);
oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
oBackup.Database = DbNanme;
oBackup.Files =BackFileName;
oBackup.BackupSetName =DbNanme;
oBackup.BackupSetDescription = "数据库备份";
oBackup.Initialize = true;
oBackup.SQLBackup(oSQLServer);
}
catch
{
throw;
}
}
/// <summary>
/// 还原数据库函数
/// </summary>
/// <param name="strDbName">数据库名</param>
/// <param name="strFileName">数据库备份文件的完整路径名</param>
/// <returns></returns>
public bool RestoreDB(string strDbName,string strFileName,string userid,string pwd)
{
//PBar = pgbMain ;
SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;
try
{
//服务器名,数据库用户名,数据库用户名密码
svr.Connect("localhost",userid,pwd) ;
SQLDMO.QueryResults qr = svr.EnumProcesses(-1) ;
int iColPIDNum = -1 ;
int iColDbName = -1 ;
for(int i=1;i<=qr.Columns;i++)
{
string strName = qr.get_ColumnName(i) ;
if (strName.ToUpper().Trim() == "SPID")
{
iColPIDNum = i ;
}
else if (strName.ToUpper().Trim() == "DBNAME")
{
iColDbName = i ;
}
if (iColPIDNum != -1 && iColDbName != -1)
break ;
}
//杀死使用strDbName数据库的进程
for(int i=1;i<=qr.Rows;i++)
{
int lPID = qr.GetColumnLong(i,iColPIDNum) ;
string strDBName = qr.GetColumnString(i,iColDbName) ;
if (strDBName.ToUpper() == strDbName.ToUpper())
{
svr.KillProcess(lPID) ;
}
}
SQLDMO.Restore res = new SQLDMO.RestoreClass() ;
res.Action = 0 ;
res.Files = strFileName ;
res.Database = strDbName ;
res.ReplaceDatabase = true ;
res.SQLRestore(svr) ;
return true ;
}
catch
{
return false;
}
finally
{
svr.DisConnect() ;
}
}
}
}
[转贴]ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程相关推荐
- Sql Server数据库的备份和恢复措施
Sql Server数据库的备份和恢复措施 Sql Server数据库的备份和恢复措施 一.备份数据库 1.打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL S ...
- SQL Server 数据库之备份和恢复数据库
备份和恢复数据库 1. 概述 2. 备份类型 3. 恢复模式 3.1 简单恢复模式 3.2 完全恢复模式和大容量日志恢复模式 4. 备份数据库 5. 恢复数据库 1. 概述 在一些对数据可靠性要求很高 ...
- 【ASP.NET】VS2015连接SQL Server数据库,实现登录、注册
文章目录 1. 实验目标 2. 难点 3. 问题 3.1 SQL Server 3.2 Demo练习 3.3 编写页面时的错误 4. 总结 5. 页面 6. 主要代码 [ASP.NET]VS2015连 ...
- 在ASP.NET中将图片存储到Sql Server数据库中
在ASP.NET中将图片存储到Sql Server数据库中 http://hi.baidu.com/rayshow/blog/item/360e8ff9662c8b5a252df268.html 索引 ...
- ASP.NET将EXCEL导入SQL SERVER数据库的代码
ASP.NET将EXCEL导入SQL SERVER数据库的代码 2007-11-13 10:36 在网上找到一个Asp.Net将Excel数据导入Sql Server数据库的的例子,是调用存储过程的, ...
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式...
SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式 这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需 ...
- SQL Server数据库的三种恢复模式
SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式. sql server数据库提供了三种恢复模式:完整,简单和大容量日志,这些模式决定了sql server如何 ...
- SQL Server数据库的三种恢复模式:简单恢复模式、完整恢复模式和大容量日志恢复模式
这篇文章主要介绍了SQL Server数据库的三种恢复模式:简单恢复模式.完整恢复模式和大容量日志恢复模式,需要的朋友可以参考下 如何图形界面下修改恢复模式 找到你想修改的数据库 右键 > 属性 ...
- SQL Server数据库没有LDF 的恢复
SQL Server数据库没有LDF 的恢复 由于种种原因,我们如果当时仅仅备份了mdf文件,那么恢复起来就是一件很麻烦的事情了. 如果您的mdf文件是当前数据库产生的,那么很侥幸,也许你使用sp_a ...
最新文章
- 01-mybatis源码阅读
- laravel php跨域请求,Laravel 5.x设置跨域访问
- 《构建之法》需求分析 读书笔记 Week6
- C语言有符号整数最小值,16位带符号整数为什么是
- C语言实现图形ADT(Graph ADT)接口COMP2521(附完整源码)
- 基于HTML5的WebGL呈现A星算法的3D可视化
- centos mysql 启动_MYSQL在centos上首次启动
- kettle 空字符串 null问题解决
- 单目摄像头光学图像测距_自动驾驶汽车传感器技术解析——车载摄像头
- Just a test
- javascript date utc
- ros control
- 微软服务器补丁每月几号发布,微软补丁日安全通告 |9 月份
- DDD落地过程中有关DTO的思考
- SQL零基础入门学习(十四)
- 科学计算基础软件包Numpy学习 02
- 威联通NAS TS-453Bmini配置docker.redis5.0.5自动加载配置
- 快卫士是如何帮您保驾护航
- Zotero使用指南06:Markdown笔记
- 花2个月面过华为测开岗,拿个30K不过分吧?
热门文章
- struts2.0.14 web.xml,struts.xml配置
- 通过ISA发布服务器(二)
- Svchost进程应用技巧
- 随机模拟的基本思想和常用采样方法(sampling)
- 如何提升数据分析的效率
- 工业大数据可视化面临的难点有哪些
- es6遍历树结构并判断_实现树形结构数据 es6
- angelajs中ajax,前端测试数据怎么利用Mock.js进行生成
- ios java aes_PHP7 AES加密解密函数_兼容ios/andriod/java对等加解密
- 用mysql web建立论坛_在web1上搭建Discuz论坛