数据库恢复的问题~~~请大家帮忙啊!!急!! 我做了个数据库的备份和恢复,但是当我备份想恢复的时候,我想先删除数据库再恢复,但是说数据库正在使用不能删除,我想不删除数据库就只接覆盖恢复,但是也不行,请大家帮忙看看如何实现数据库的恢复啊!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 删除数据之前先user "其它数据库"再drop database "要删除的数据库"例如:user masterdrop database "要删除的数据库" 技术交流群号:23266021欢迎大家在此讨论关于.net的各种技术。1号群使用存储过程来做简单且稳定。 呵呵,你怎么不查一下原来已有的帖子呢,我已经回答过这个问题了,既然你问我再写一遍执行下面代码强制关闭所有与数据库的连接,然后再执行恢复操作就行了。数据库还原是必须关闭所有与数据库的连接,否则,无法还原。也就会出现你所说的提示信息。你可以强制关闭与数据库的连接,代码如下://strConn -- 数据库连接字符串//strDatabaseName -- 备份的数据库名称public void CloseDatabaseProcesses(string strConn,string strDatabaseName){ SqlConnection conn=new SqlConnection(strConn); stirng strSql="select spid from master..sysprocesses where dbid=db_id('" + strDatabaseName+ "')"; SqlCommand comm=null; try { comm=new SqlCommand(strSql,conn); conn.Open(); SqlDataReader dr=comm.ExecuteReader(); while(dr.Read()) { strSql = "kill " & (dr[0].ToString ()); comm= New SqlCommand(strSql, conCn); comm.ExecuteNonQuery(); } } catch(Exception ex) { throw new Exception(ex.Message); } finally { if(conn!=null) { conn.Dispose(); } } } 上面这代码有问题啊,说“与此相关的datareader连接没有关闭”但是明明关了列,加了dr.close();也没有用,都说datareader连接没有关闭!请大家帮忙看哈啊 除了下面注释的是打错外,是没有问题的,我就是用的这个方法. while(dr.Read()) { strSql = "kill " & (dr[0].ToString ()); comm= New SqlCommand(strSql, conn);//将conCn修改为conn comm.ExecuteNonQuery(); } C#.NET对SQLite数据库连接 高手进 如何用按钮控制WINFORM中PDF控件滚动条的位置 datagridview 动态绑定后怎么改变列的类型 请问,怎么设置一个DataTable 的列宽? 比如 关于窗口置顶 初学C#,求教如何读取数据库记录集 C# 编码规范和编程好习惯 哪位大虾可以提供《c#入门经典》(清华大学出版社)的电子版本,高分相送!!300 C#中的ResourceManager使用 如何让程序单实例运行? 简单而且奇怪的问题 求救...请问这种VB的代码如何用C#实现?谢谢
user "其它数据库"
再
drop database "要删除的数据库"例如:
user master
drop database "要删除的数据库"
欢迎大家在此讨论关于.net的各种技术。1号群
使用存储过程来做简单且稳定。
数据库还原是必须关闭所有与数据库的连接,否则,无法还原。也就会出现你所说的提示信息。
你可以强制关闭与数据库的连接,代码如下:
//strConn -- 数据库连接字符串
//strDatabaseName -- 备份的数据库名称
public void CloseDatabaseProcesses(string strConn,string strDatabaseName)
{
SqlConnection conn=new SqlConnection(strConn);
stirng strSql="select spid from master..sysprocesses where dbid=db_id('" + strDatabaseName+ "')";
SqlCommand comm=null;
try
{
comm=new SqlCommand(strSql,conn); conn.Open();
SqlDataReader dr=comm.ExecuteReader(); while(dr.Read())
{
strSql = "kill " & (dr[0].ToString ()); comm= New SqlCommand(strSql, conCn);
comm.ExecuteNonQuery();
}
}
catch(Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
if(conn!=null)
{
conn.Dispose();
}
}
}
while(dr.Read())
{
strSql = "kill " & (dr[0].ToString ()); comm= New SqlCommand(strSql, conn);//将conCn修改为conn
comm.ExecuteNonQuery();
}