请哪位高手给出用c#实现数据库备份 恢复的完整示例

解决方案 »

  1.   

    private void Button3_Click(object sender, System.EventArgs e)
    {
    //引用SQLDMO.dll,SQLDMO由Microsoft SQL Server自带的SQLDMO.dll提供,SQLDMO.dll是一个COM对象
    SQLDMO.Backup backup=new SQLDMO.BackupClass();
    SQLDMO.SQLServer sqlserver=new SQLDMO.SQLServerClass();
    sqlserver.LoginSecure=false;
    sqlserver.Connect("localhost","sa","1");
    backup.Action=SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
    backup.Database="userdb";
    backup.Files=@"E:\Project\data\userdb.bak";
    backup.BackupSetName="userdb";
    backup.BackupSetDescription="数据库备份";
    backup.Initialize=true;
    backup.SQLBackup(sqlserver);
    }private void Button4_Click(object sender, System.EventArgs e)
    {
    SQLDMO.Restore restore=new SQLDMO.RestoreClass();
    SQLDMO.SQLServer sqlserver=new SQLDMO.SQLServerClass();
    sqlserver.LoginSecure=false;
    sqlserver.Connect("192.168.19.25","sa","sa"); restore.Action=SQLDMO.SQLDMO_RESTORE_TYPE.SQLDMORestore_Database;
    restore.Database="userdb";
    restore.Files=@"E:\Project\data\userdb.bak";
    restore.BackupSetName="userdb";
    restore.FileNumber=1;
    restore.SQLRestore(sqlserver);
    }
      

  2.   

    2楼太复杂了,楼主可以这样:
    关键是2句SQL语句:
    备份:backup database 数据库 to disk='c:\你的备份文件名'
    恢复:restore database 数据库 from disk='c:\你的备份文件名'--示例(在C#里备份数据库):
    在头部添加using System.Data.SqlClient ;--实现代码:
    SqlConnection sqlConn = new SqlConnection ("server=服务器名;database=数据库名;uid=数据库用户名;pwd=数据库用户密码");
    sqlConn.Open ();
    string strSQL=@"backup database 数据库 to disk='c:\你的备份文件名'";
    SqlCommand sqlCmd = new SqlCommand (strSQL,sqlConn);
    sqlCmd.ExecuteNonQuery();
    sqlCmd.Dispose ();
    sqlConn.Close ();--恢复时将string strSQL=@"backup database 数据库 to disk='c:\你的备份文件名'";
    替换成
    string strSQL=@"restore database 数据库 from disk='c:\你的备份文件名'";
    即可
      

  3.   

    --注意:
    这里的    c:\你的备份文件名     中的C是指SQL SERVER服务器上的C,而不是你本地机器的C
      

  4.   

    备份:backup database 数据库 to disk='c:\你的备份文件名'
    恢复:restore database 数据库 from disk='c:\你的备份文件名'
      

  5.   

    http://dev.csdn.net/develop/article/28/28564.shtm
      

  6.   

    MSSQL没有问题,我已经成功运用到我的项目中了,不过要向客户端分发SQLDMO.dll文件,并注册它,我正在将项目移植到ORACLE,在Oracle中相当于导入导出,不知如何编程实现?