.net(c#)还原sql server 2005数据库,出错因为数据库正在使用,所以无法获得对数据库的独占访问权。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了.net(c#)还原sql server 2005数据库,出错因为数据库正在使用,所以无法获得对数据库的独占访问权。相关的知识,希望对你有一定的参考价值。

protected void Button1_Click(object sender, EventArgs e)

string connectionstring = "server=(local);uid=sa;pwd=sos1102779404";
SqlConnection con = new SqlConnection(connectionstring);
con.Open();
string path = TextBox1.Text;
string name = "gzgl2012";
string cmdrestore = "use master;restore database @name from disk=@path";
SqlCommand cmd = new SqlCommand(cmdrestore, con);
cmd.Parameters.Add("@name", SqlDbType.Char);
cmd.Parameters["@name"].Value = name;
cmd.Parameters.Add("@path", SqlDbType.Char);
cmd.Parameters["@path"].Value = path;
try

cmd.ExecuteNonQuery();
con.Close();
Response.Write("<script>alert('还原成功!')</script>");

catch (Exception err)

throw new System.Exception(err.Message);


我希望在以上的代码里插入杀死进程,再还原数据库的部分代码,请大家帮帮忙。谢谢!

cmd.ExecuteNonQuery();
con.Close();
你是在它执行之后才释放,当然会一样的出现访问无效,建议停止这个sqlserver的服务才去还原,如果你知道停止sqlserver进程的代码也可以!
参考技术A 两台机器的服务将无法启动?概率是非常小的,如果你里面的服务的过程中仍然是您的mdf和ldf文件复制不能,建议第一个数据库服务都暂停,包括操作流程和服务被暂停,然后将数据复制到共享磁盘上的数据库文件夹,重新安装数据库,然后附加。 参考技术B 你在C#里面执行个脚本,把SQL服务给重启了。
@echo off
echo 正在关闭SQL SERVER服务,
net stop mssqlserver
net start mssqlserver
echo 重启命令已经执行完毕,
echo.
参考技术C 你关闭数据库连接了吗?也就是sqlconnection.close(),而且你的这个还原sql数据库的命令需要执行才行。你试试在sqlcommand那里返回一个值或者你断点在运行看看那里有值不! 参考技术D dd

关于sql server2012备份还原出现的2个介质问题的解决方法?

几年前用ZBLOG的ASP+ACCESS建立了一个教育主题小博客,几年下来,发现速度越来越慢了,因此想换个数据库,研究了个把星期,终于将ACCESS数据库换成了SQL SERVER2012版本,速度是快多了,但是我现在很想备份还原一下数据库,因为数据非常重要嘛。
我这个读书主题的站(读后感http://www.simayi.net读书笔记)在备份还原数据库的过程中遇到了一个小问题,那就是老是提示“介质是2个”,也就是说存在多个介质的问题,这是什么原因呢?查找了很多资料也没搞明白(本人技术小白)。
截图说明:
技术分享图片
"上加载的介质已格式化为支持1个介质簇,但根据指定的备份设备,应支持2个介质簇"
这样可以说是相当的恼火啊,搞了大半个晚上也没成功还原好,头疼啊!
谁知道这个技术方面的问题呢?我这到底是什么原因导致的?

以上是关于.net(c#)还原sql server 2005数据库,出错因为数据库正在使用,所以无法获得对数据库的独占访问权。的主要内容,如果未能解决你的问题,请参考以下文章

sql server2005中的段落还原/部分还原

sql server2008备份出来的数据库如何在在sql server 2005或2000中还原

SQL Server2005的数据还原与备份具体步骤

每晚数据库还原 - SSIS 包 - SQL Server 2005

SQL Server2005还原数据库之前,怎么断开所有的用户链接?

还原SQL Server 2005数据库后,将所有用户链接到登录