ASP.NET下对远程SQL SERVER数据库的备份和恢复
2011-12-29 22:41
441 查看
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数据库的备份和恢复的存储过程
- ASP.NET下对远程SQL SERVER数据库的备份和恢复的存储过程
- 基于ASP.NET(C#)Web开发平台,对远程备份与恢复SQLServer数据库的方法
- 在ASP.NET中备份恢复Sql Server数据库
- asp.net下实现数据库的备份与恢复
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复(转载)
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- ASP.NET中备份SQL Server数据库的方法
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- 在ASP.NET页面中实现数据库备份和恢复功能
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- ASP.NET中备份恢复数据库
- ASP.NET中备份SQL Server数据库的方法
- 用ASP.NET还原与恢复SQL Server数据库
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- 如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复
- asp.net 备份和恢复数据库的方法示例
- ASP.NET 备份与恢复ACCESS数据库