手机
当前位置:查字典教程网 >编程开发 >C#教程 >sqlserver备份还原数据库功能封装分享
sqlserver备份还原数据库功能封装分享
摘要:复制代码代码如下:usingSystem;usingSQLDMO;namespaceEDTBackupTool{//////Backup的摘...

复制代码 代码如下:

using System;

using SQLDMO;

namespace EDTBackupTool

{

/// <summary>

/// Backup 的摘要说明。

/// </summary>

public class SQLTools

{

public static bool Backup(string backfile){

try

{

SQLDMO.Backup backup = new BackupClass();

SQLDMO.SQLServer server = new SQLServerClass();

server.LoginSecure = true;

server.Connect(ClientCommon.CommonFunctions.DataSource,"sa","");

backup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;

backup.Database = ClientCommon.CommonFunctions.Catalog;

backup.Files =backfile;

backup.BackupSetName =ClientCommon.CommonFunctions.Catalog;

backup.BackupSetDescription = "数据库备份";

backup.Initialize = true;

backup.SQLBackup(server);

return true;

}

catch(Exception ex){

ClientCommon.ExceptionRecorder.Record(ex);

return false;

}

}

public static bool RestoreDB(string strFileName)

{

SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass() ;

try

{

svr.LoginSecure=true;

svr.Connect(ClientCommon.CommonFunctions.DataSource,"sa","") ;

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() == ClientCommon.CommonFunctions.Catalog)

{

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() == ClientCommon.CommonFunctions.Catalog)

{

svr.KillProcess(lPID) ;

}

}

SQLDMO.Restore res = new SQLDMO.RestoreClass() ;

res.Action = 0 ;

res.Files = strFileName ;

res.Database = ClientCommon.CommonFunctions.Catalog ;

res.ReplaceDatabase = true ;

res.SQLRestore(svr) ;

return true ;

}

catch

{

return false;

}

finally

{

svr.DisConnect() ;

}

}

}

}

【sqlserver备份还原数据库功能封装分享】相关文章:

c# 连接access数据库config配置

c#高效率导出多维表头excel的实例代码

C#保存图片到数据库并读取显示图片的方法

浅析C# web访问mysql数据库-整理归纳总结

C#数据库操作小结

基于集合的子集与集合的全排列的相关问题

深入分析C#连接Oracle数据库的连接字符串详解

C#仿密保卡功能的简单实现代码

C#版的 Escape() 和 Unescape() 函数分享

C#全角半角转换函数代码分享

精品推荐
分类导航