文件自动备份,你也同样可以写个作业,定时把copy到其它地方啊

解决方案 »

  1.   

    数据库恢复的例子
    void restoreButton_Click(object sender, System.EventArgs e)
    {
    string path = pathTextBox.Text;
    string dbname = dbDropDownList.SelectedValue; string restoreSql = "use master;";
    restoreSql += "restore database @dbname from disk = @path;"; SqlCommand myCommand = new SqlCommand(restoreSql, new SqlConnection(ConnStr)); myCommand.Parameters.Add("@dbname", SqlDbType.Char);
    myCommand.Parameters["@dbname"].Value = dbname;
    myCommand.Parameters.Add("@path", SqlDbType.Char);
    myCommand.Parameters["@path"].Value = path; try
    {
    myCommand.Connection.Open();
    myCommand.ExecuteNonQuery();
    infoLabel.Text = "恢复成功";
    }
    catch(Exception ex)
    {
    infoLabel.Text = "恢复失败<br>" + ex.ToString();
    }
    finally
    {
    myCommand.Connection.Close();
    }
    }
      

  2.   

    多谢林鸿兄的关照,不过我想把数据备份和恢复独立于数据库,所以不想把备份后的文件名,时间,路经等信息保存在数据库里。
    自动备份数据库,我现在是这样做的:用管理中的“数据库维护计划”。第一步:新建数据库维护计划;
    第二步:“常规”中,选择“如下数据库”列表中的某一项(可多选);
    第三步:“完全备份”中,勾选“作为维护计划的一部分备份数据库”,可选“完成时验证备份的完整性”;
    第四步:选中“磁盘”,有“使用默认备份目录”和“使用此目录”。我用的是自选目录。
            如果在第一步“常规”中选中了多个数据库,应选中“为每个数据库创建一个子目录”;
            备份较多的话,可选中“删除早于此时间的文件”;
            然后是“备份扩展名”,一般为BAK格式;
            最后是“调度”项,点击“更改”按钮,在弹出窗口里,自由选择作业发生的频率和时间。
      

  3.   

    这样,我得到了数据库的自动备份。每天或每周备份一次。
    在客户端如何选择恢复数据库,我打算用directoryINFO先获取备份文件路径,不过如何获取服务器的文件目录呢 ??
    获取后绑定到DROPDOWNLIST中,由客户选择恢复恢复某次的备份。
    不知道我这个思路对不对,寻求指点。