使用c#在VS中进行恢复数据库时总是显示数据库正在被使用,文件没有独立访问权的问题怎么解决,

privatevoidbutton1_Click(objectsender,EventArgse){stringpath=this.textBox2.Text;strin... private void button1_Click(object sender, EventArgs e)
{
string path = this.textBox2.Text;
string dbname = this.textBox1.Text;
string SqlStr1 = "Server=.;database='" + this.textBox1.Text + "';Uid=sa;Pwd=123456";
string SqlStr2 = "use master restore database "+dbname+" from Disk='" + path + "'";
using (SqlConnection conn = new SqlConnection(SqlStr1))
{
conn.Open();
try
{
SqlCommand cmd = new SqlCommand(SqlStr2, conn);
cmd.Connection = conn;
//cmd.CommandText = setoff + cmd + seton;
cmd.ExecuteNonQuery();
if (MessageBox.Show("恢复成功", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk) == DialogResult.OK)
{
this.Close();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
}
我们是先备份了,然后使用备份文件bak进行恢复,谢谢
展开
 我来答
阳光的雷咩咩
2017-04-12 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7791万
展开全部

执行restore前先执行另一句sql:

ALTER DATABASE AdventureWorks SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO

参考资料:

http://stackoverflow.com/questions/183686/how-to-gain-exclusive-access-to-sql-server-2005-database-to-restore

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式