请问这个问题怎么解决呢?
(C#) 实现对sql数据库的在线恢复时总是产生错误,具体提示错误如下:
尚未备份数据库 "SnQDates" 的日志尾部。如果该日志包含您不希望丢失的工作,请使用 BACKUP LOG WITH NORECOVERY 备份该日志。请使用 RESTORE 语句的 WITH REPLACE 或 WITH STOPAT 子句来只覆盖该日志的内容。 RESTORE DATABASE 正在异常终止。已将数据库上下文更改为 'master'。
数据恢复代码如下:
程序代码:
string bakname = "bakdb2008724.bak"; string bakname1 = "bakdb"; string sql = "Alter Database SnQDates Set Offline with Rollback immediate;"; //db 是要备份的数据库名 sql += "restore database SnQDates from disk = '"; sql += Server.MapPath("../backup").ToString() +"\\"; sql += bakname + "'"; //bakname 是备份文件名 sql += "Alter Database MyData Set OnLine With rollback Immediate;"; try { string SqlStr1 = "Server=(local);database=master;Uid=sa;Pwd=123456"; SqlConnection conn = new SqlConnection(SqlStr1); conn.Open(); SqlCommand com = new SqlCommand(sql, conn); com.ExecuteNonQuery(); Response.Write("<script language=javascript>alert('数据恢复成功!');</script>"); } catch(Exception ex) { Response.Write("<script language=javascript>alert('数据恢复失败!');</script>"); this.Label1.Text = ex.ToString(); }