如何在C#中还原SQL Server 2012数据库.bak文件?
我在Windows窗体中开发了一个MIS,其中我备份了SQL Server 2012数据库,但无法恢复备份(如何在C#中还原SQL Server 2012数据库.bak文件?,c#,sql-server,winforms,login,C#,Sql Server,Winforms,Login,我在Windows窗体中开发了一个MIS,其中我备份了SQL Server 2012数据库,但无法恢复备份(.bak)文件 这是我的代码: private void buttonRestore_Click(object sender, EventArgs e) { try { openFileDialog1.Filter = "Backup File |*.bak"; if (openFileDialog1.ShowDialog() == Dia
.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"
*******
我知道这是一篇老文章,但我不知道如何先连接到主数据库,然后再连接到要恢复的数据库?澄清一下就好了。Thanks@PeterJ:只需使用我在回答中显示的第二个连接字符串连接到
master
,恢复数据库后,关闭该连接,并使用第一个连接字符串连接到您要使用的实际数据库(以及您刚刚恢复的数据库)哦,好的,这很有意义。万分感谢,马克!