1
Я разработал MIS в Windows Forms, в котором я сделал резервную копию базы данных SQL Server 2012, но мне не удалось восстановить файл резервной копии (.bak
).Как восстановить файл базы данных SQL Server 2012 .bak на C#?
Это мой код:
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);
}
}
Но я получаю эту ошибку:
Спасибо marc_s это работает – Loyal
я знаю, что это старый пост, но я не могу выяснить, как сначала подключиться к основной базе данных, а затем к той, которая должна быть восстановлена? Некоторые разъяснения были бы замечательными. Спасибо – PeterJ
@PeterJ: просто используйте строку подключения * second *, которую я показал в своем ответе, чтобы подключиться к 'master', и когда вы закончите восстановление базы данных, закройте это соединение и используйте строку подключения * first * для подключения к фактическую базу данных, которую вы хотите использовать (и которую вы только что восстановили) –