如何在vs中实现数据库备份

解决方案 »

  1.   

    用SQL语句就可以了。 比如备份NorthwindSQL:
    backup database Northwind to  disk='c:\backuptext.dat'所以程序这样写:string myExecuteQuery = "backup database Northwind to  disk='c:\backuptext.dat'";
    SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close(); 
      

  2.   

    http://topic.csdn.net/u/20100514/14/c3fa2fc1-08fb-40ea-a3b3-8d169871820d.html
      

  3.   

    SQLDMO.dll得下载吗 从哪引用啊
      

  4.   

    VS中添加SQLDMO引用
    备份
    BACKUP DATABASE text
    to disk='c:\11.bak' with init还原
    RESTORE DATABASE CDJTLZGIS   
      FROM DISK = 'c:\33.bak'   
    WITH MOVE 'CDJTLZGIS_Data' TO 'c:\CDJTLZGIS_Data',   
    MOVE 'CDJTLZGIS_Log' TO 'c:\CDJTLZGIS_Log'   using(SqlConnection Sql = new SqlConnection(ConnStr))
    {
      SqlCommand cmd = new SqlCommand("Data_Backup", Sql);
      Sql.Open();
      cmd.CommandType = CommandType.StoredProcedure;
      cmd.Parameters.Add("@dbname", SqlDbType.VarChar).Value = "Project";
      cmd.Parameters.Add("@bkpath", SqlDbType.VarChar).Value = Server.MapPath("../Data/");
      try
      {
      cmd.ExecuteNonQuery();
      cmd.Dispose();
      Sql.Close();
      }
      catch (Exception ex)
      {
      cmd.Dispose();
      Sql.Close();
      throw new Exception("" + ex.Message + "");
      }
    }
    SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
      SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLServerClass();
      SQLDMO.BackupSink_PercentCompleteEventHandler pceh = new SQLDMO.BackupSink_PercentCompleteEventHandler(Step);
      

  5.   

    SQLDMO.dll在com组件中导入Microsoft SQLDMO Object Library即可
      

  6.   

    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Text;
    using SQLDMO;       //添加引用C:Program FilesMicrosoft SQL Server80ToolsBinnSQLDMO.dllnamespace JXC_proBLL
    {
        /// 
        /// 对SQL Server数据库备份文件进行管理。提供备份、还原、备份文件管理操作。
        /// 
        public class DBBakManager
        {                private string _serverName;
            private string _userName;
            private string _password;
            private string _dbName;        
                   /// 
            /// 构造函数
            /// 
            /// 数据库服务器名
            /// 数据库用户名
            /// 用户密码
            /// 数据库名
            public DBBakManager(string serverName, string userName, string password, string dbName)
            {
                _serverName = serverName;
                _userName = userName;
                _password = password;
                _dbName = dbName;
            }                        /// 
            /// 备份数据库
            /// 
            /// 保存的备份文件路径(包括文件名,文件名格式为:"DBName(yyyyMMddHHmm).bak")
            /// 操作成功返回true,否则返回false
            public static bool BackUpDB(string saveFileName)
            {
                SQLDMO.SQLServer svr = new SQLDMO.SQLServerClass();
                try
                {
                    svr.Connect(_serverName, _userName, _password);
                    SQLDMO.Backup bak = new SQLDMO.BackupClass();
                    bak.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
                    bak.Initialize = true;
                    bak.Database = _dbName;
                    bak.Files = saveFileName;
                    bak.SQLBackup(svr);
                    return true;
                }
                catch (Exception err)
                {
                    return false;
                }
                finally
                {
                    svr.Close();
                }
            }提示错误 23 非静态的字段、方法或属性“JXC_proBLL.DBBakManager._password”要求对象引用 D:\jxc_pro\JXC_proBLL\DBBakManager.cs 96 53 JXC_proBLL
      

  7.   

    如果使用sqldmo需要这样                    SQLDMO.Backup myBackUp = new SQLDMO.BackupClass();
                        SQLDMO.SQLServer mySQlServer = new SQLDMO.SQLServerClass();
                        mySQlServer.LoginSecure = false;
                        mySQlServer.Connect(connect.DataSource, “用户", "密码");
                        myBackUp.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
                        myBackUp.Database = "数据库名";
                        myBackUp.Files = "备份文件名";
                        myBackUp.BackupSetName = "数据库名";
                        myBackUp.BackupSetDescription = "数据库备份";
                        myBackUp.Initialize = true;
                        myBackUp.SQLBackup(mySQlServer);
      

  8.   

    无法打开备份设备 'D:eifen'。出现操作系统错误 123(文件名、目录名或卷标语法不正确。)
      

  9.   

     SQLDMO.Backup myBackUp = new SQLDMO.BackupClass();
                        SQLDMO.SQLServer mySQlServer = new SQLDMO.SQLServerClass();
                        mySQlServer.LoginSecure = false;
                        mySQlServer.Connect(DBHelper.Connection.DataSource, "sa", "000000");
                        myBackUp.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
                        myBackUp.Database = "jxcDB";
                        myBackUp.Files = "D:\beifen";
                        myBackUp.BackupSetName = "dbjxc";
                        myBackUp.BackupSetDescription = "数据库备份";
                        myBackUp.Initialize = true;
                        myBackUp.SQLBackup(mySQlServer);写的对吗
      

  10.   

    http://topic.csdn.net/u/20090304/17/54c2eb31-6d6c-4e08-b6b7-b92b4b71cc31.html