繁体   English   中英

如何在C#中还原SQL Server 2012数据库.bak文件?

[英]How to restore a SQL Server 2012 database .bak file in C#?

我在Windows窗体中开发了一个MIS,我在其中备份了我的SQL Server 2012数据库,但是我无法恢复备份( .bak )文件。

这是我的代码:

private void buttonRestore_Click(object sender, EventArgs e)
{
    try
    {
        openFileDialog1.Filter = "Backup File |*.bak";

        if (openFileDialog1.ShowDialog() == DialogResult.OK)
        {
            string sql = "Alter Database BOQ SET SINGLE_USER WITH ROLLBACK IMMEDIATE;";
            sql += "Restore Database BOQ FROM DISK ='" + openFileDialog1.FileName + "' WITH REPLACE;";

            SqlConnection con = new SqlConnection("Data Source=.; Initial Catalog=BOQ;Integrated Security=True");
            SqlCommand command = new SqlCommand(sql,con);

            con.Open();
            command.ExecuteNonQuery();

            MessageBox.Show("Database Recovered Successfully!");
            con.Close();
            con.Dispose();
        }
    }
    catch (Exception ex) 
    { 
         MessageBox.Show(ex.Message); 
    }
}

但我得到这个错误:

在此输入图像描述

无法连接到您的数据库BOQ ,然后恢复.bak顶部!

"Data Source=.; Initial Catalog=BOQ;Integrated Security=True"
                                ****

您需要连接到master数据库, 然后您可以恢复您的BOQ数据库:

"Data Source=.; Initial Catalog=master;Integrated Security=True"
                                *******

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM