如果是SQL SERVER数据库可以这样:
备份:
         CDatabase db;
CString s1;
s1.Format("ODBC;UID=sa;PWD=%s","wei147");
db.Open("odbcname",false,false,s1);
s1.Format("backup database report to disk='e:\\report.bak\\backs.dat'"); //备份到E:\report.bak\backs.dat
db.ExecuteSQL(s1);
恢复:
         恢复时用户不能打开要恢复的数据库
CDatabase db1;
         s1.Format("ODBC;UID=sa;PWD=%s","wei147");
db1.Open("odbcname",false,false,s1);
s1.Format("restore database report from  disk='c:\\report.bak\\backs.dat'");
db1.ExecuteSQL(s1);
db1.Close();
VC做的,但SQL 语句是一样的