ضمن تشکر از دوستان گرامی خصوصاً جناب حضوری عزیز .
من قبل از دیدن پست آقای حضوری با آزمون و خطای بسیار ، در نهایت سینتکس
مورد قبول SqlExpress رو فهمیدم و به نظرم بهترین و ساده ترین روش همینه ...
بدون نیاز به اضافه کردن ریفرنس :
کد مربوط به گرفتن بک آپ:
ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\dbName.M DF;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
try
{
con.Open();
string query = "BACKUP DATABASE [C:\\dbName.MDF] TO DISK = N'E:\\backup_db.BAK'";
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
}
catch
{
MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");
}
کد مربوط به بازیابی دیتا بیس :
ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\dbName.M DF;Integrated Security=True;Connect Timeout=30;User Instance=True";
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
try
{
con.Open();
string query = "USE master; RESTORE DATABASE [C:\\dbName.MDF] FROM DISK = N'E:\\backup_db.BAK'";
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
}
catch
{
MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی");
}