c# - 如何在 C# 中恢复 SQL Server 2012 数据库 .bak 文件?

标签 c# sql-server winforms authentication

我在 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); 
    }
}

但是我得到这个错误:

enter image description here

最佳答案

不能连接到您的数据库BOQ,然后在其之上恢复.bak!

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

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

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

关于c# - 如何在 C# 中恢复 SQL Server 2012 数据库 .bak 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28576614/

相关文章:

c# - 使用结构和属性时没有编译错误

c# - 将 WindowsMediaPlayer 设置为自动运行 C# Windows 窗体

sql-server - 用于从源代码控制重新创建数据库的批处理脚本

SQL Server 2005 - 查找范围内的最小未使用值

C# - 代码处理顺序 - 奇怪的行为

c# - 在c#中将字符串公式转换为数学公式

c# - 如何使用组合框更改 richTextBox 字体大小

c# - Paypal IPN delay-is sleeping 站点解决方案

c# - 如何在 Xamarin.Android 中从 EventHandler 获取值到后台服务

sql-server - 将旧的 "+"Join 转换为 SQL Server 语法?