为了账号安全,请及时绑定邮箱和手机立即绑定

如何恢复 SQL Server 2012 数据库?

如何恢复 SQL Server 2012 数据库?

C#
摇曳的蔷薇 2021-06-28 06:35:37
如何从 SQL Server 2012 还原数据库?这是我的代码:private void [connTes()][1]{        try        {            conString = "server=.\\SQLEXPRESS;database=db_datatestproject;user=admin;password=123;Integrated Security=True";            connnn = new SqlConnection(conString);            connnn.Open();        }        catch        {        }}private void button1_Click(object sender, EventArgs e){        connTes();        try        {            if (txtlocation.Text == "")            {                MessageBox.Show("select database");                return;            }            else            {                string databesing = connnn.Database.ToString();                string a = "ALTER DATABASE " + databesing + " SET SINGLE_USER WITH ROLLBACK IMMEDIATE;";                a += "RESTORE DATABASE "+databesing+" FROM DISK ='"+txtlocation.Text+"' WITH REPLACE;";                SqlCommand cmd = new SqlCommand(a, connnn);                SqlDataReader dr = cmd.ExecuteReader();                connnn.Close();                connnn.Dispose();                MessageBox.Show("done restored");            }        }        catch(SqlException ex)        {            MessageBox.Show(ex.ToString());        }}这是我得到的错误:RESTORE 无法处理数据库“db_testproject”,因为它被会话使用。建议在执行此操作时使用master 数据库。RESTORE DATABASE 异常终止。如何修复此错误?
查看完整描述

1 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

添加

USE MASTER;
 GO

到您的 TSQL 恢复命令的开始。

您需要在另一个数据库中,而不是在您要恢复的数据库中。

另请注意@marc_s 的评论:“由于您没有从中取回任何数据SqlCommand,请使用ExecuteNonQuery()代替ExecuteReader()


查看完整回答
反对 回复 2021-07-03
  • 1 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信