首先需要添加对SQLDMO引用

1.实现数据库的备份:
1/**//// <summary>
2 /// 数据库备份
3 /// </summary>
4 /// <returns>备份是否成功</returns>
5 public bool DbBackup()
6 {
7 string path = CreatePath();
8 SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
9 SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
10 try
11 {
12 oSQLServer.LoginSecure = false;
13 oSQLServer.Connect(server,uid, pwd);
14 oBackup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
15 oBackup.Database = database;
16 oBackup.Files = path;
17 oBackup.BackupSetName = database;
18 oBackup.BackupSetDescription = "数据库备份";
19 oBackup.Initialize = true;
20 oBackup.SQLBackup(oSQLServer);
21
22 return true;
23 }
24 catch(Exception ex)
25 {
26 return false;
27 throw ex;
28 }
29 finally
30 {
31 oSQLServer.DisConnect();
32 }
33 }
2.实现数据库恢复:
在恢复时要注意先杀掉当前数据库的所有进程
1/**//// <summary>
2 /// 数据库恢复
3 /// </summary>
4 public string DbRestore()
5 {
6 if(exepro()!=true)//执行存储过程
7 {
8 return "操作失败";
9 }
10 else
11 {
12 SQLDMO.Restore oRestore = new SQLDMO.RestoreClass();
13 SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
14 try
15 {
16 exepro();
17 oSQLServer.LoginSecure = false;
18 oSQLServer.Connect(server, uid, pwd);
19 oRestore.Action = SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
20 oRestore.Database = database;
21 /**////自行修改
22 oRestore.Files = @"d:\aaa\aaa.bak";
23 oRestore.FileNumber = 1;
24 oRestore.ReplaceDatabase = true;
25 oRestore.SQLRestore(oSQLServer);
26
27 return "ok";
28 }
29 catch(Exception e)
30 {
31 return "恢复数据库失败";
32 throw e;
33 }
34 finally
35 {
36 oSQLServer.DisConnect();
37 }
38 }
39 }