备份数据库:
string path = Server.MapPath("./") + "..\\..\\sqldata\\" + txtfileName.Text + ".bak";//完整路径
            string dbname = "DZManage";//数据库名
            string backupSql = "use master;";//避免错误
            backupSql += "backup database @dbname to disk = @path;";
            conn.setParameters("@dbname", dbname);
            conn.setParameters("@path", path);
            try
            {
                conn.Exec(backupSql);//执行sql语句
                Response.Write(StringClass.MessageBox("备份成功!", "data.aspx")); 
            }
            catch
            {
                Response.Write(StringClass.MessageBox("备份失败!", "data.aspx"));
            }
            finally
            {
                conn.Close();
            }
恢复数据库:
                     string bakfilename = Gvw_List.DataKeys[e.RowIndex].Value.ToString();
            string path = Server.MapPath("./") + "..\\..\\sqldata\\" + Gvw_List.DataKeys             [e.RowIndex].Value.ToString();//完整路径
                      string dbname = "DZManage";
            string restoreSql = "use master;";//避免错误
                    restoreSql += "ALTER DATABASE @dbname SET OFFLINE WITH ROOLBACK IMMEDIATE;";//将数据库置于离线状态
                   restoreSql += "restore database @dbname from disk = @path;";//恢复DZManage数据库
                    restoreSql += "ALTER DATABASE @dbname SET ONLINE WITH ROOLBACK IMMEDIATE;";//将数据库置于在线状态
                    conn.setParameters("@dbname", dbname);
            conn.setParameters("@path", path);
            try
            {
            Response.Write(restoreSql);
            conn.Exec(restoreSql);//执行sql语句
                  Response.Write(StringClass.MessageBox("恢复数据成功!", "data.aspx")); 
            }
            catch
            {
               Response.Write(StringClass.MessageBox("恢复数据失败!", "data.aspx"));
            }
            finally
            {
                conn.Close();
            }
大家帮忙看下那有问题,调试都可以过去的

解决方案 »

  1.   

    backupSql += "backup database @dbname to disk = @path;"; 
    =========
    我做了一遍,因为在恢复时它要去找日志备份,必须把日志也备份了!backupSql 在字符串中加上日志备份,就可以,Backup Log LESPProject to disk='和@path路径一样,名称不一样' With No_Truncate
    在恢复就可以了!
      

  2.   


    ROOLBACK   ===修改为 rollback 
      

  3.   


    终于 完成 测试 
    --备份
    backup database LESPProject to disk = 'D:\Syenrgy\ASPNETWeb\2008.bak';
    --还原
    ALTER DATABASE LESPProject SET OFFLINE WITH ROlLBACK IMMEDIATE;
    RESTORE DATABASE LESPProject FROM DISK = 'D:\Syenrgy\ASPNETWeb\2008.bak' with REPLACE
    ALTER DATABASE LESPProject SET ONLINE  WITH ROlLBACK IMMEDIATE;