بکاپ و رستور پایگاه داده با سی شارپ

در این پست آموزشی طریقه بکاپ و ریستور پایگاه داده Sql با سی شارپ را در سایت قرار داده ایم. این آموزش بصورت فیلم و یا کتاب نیست بلکه توضیحات لازم برای انجام اینکار در ادامه مطلب سایت گذاشته شده تا کاربران محترم از این آموزش نهایت استفاده رو ببرند. این آموزش بصورت کامل می باشد و بعد از مشاهده این متن بخوبی می توانید بکاپ و ریستور پایگاه داده Sql با سی شارپ را انجام دهید.

 

 

برای گرفتن نسخه پشتیبان (Back Up) از بانک اطلاعاتی SQL و بازگرداندن (Restore) نسخه پشتیبان در برنامه C# از کدهای زیر می توان استفاده کرد :

برای این منظور دو متد به نام های Backup و Restore تعریف میکنیم که کدها به شرح ذیر می باشد :

 

متد اول تهیه نسخه پشتیبان :

 

 

private void Backup(string filename)

{

try

{

string command = @”Backup DataBase DBName To Disk='” + filename + “‘”;

this.Cursor = Cursors.WaitCursor;

SqlCommand ocommand = null;

SqlConnection oconnection = null;

oconnection = new SqlConnection(“Data Source=(local);Initial Catalog=DBName ;user id=sa”);

if (oconnection.State != ConnectionState.Open)

oconnection.Open();

ocommand = new SqlCommand(command, oconnection);

ocommand.ExecuteNonQuery();

this.Cursor = Cursors.Default;

MessageBox.Show(“تهیه نسخه پشتیبان از اطلا عات با موفقیت انجام شد”);

}

catch (Exception ex)

{

MessageBox.Show(“Error : “, ex.Message);

}

}

 

 


متد دیگر بازگرداندن پشتیبان :

 

 

private void Restore(string filename)

{

try

{

string command = @”ALTER DATABASE DBName  SET SINGLE_USER with ROLLBACK IMMEDIATE ” + “ USE master ” + ” RESTORE DATABASE DBName FROM DISK= N'” + filename + “‘”;

//string command = @”RESTORE DATABASE  DBName FROM DISK ='” + filename + “‘ “;

this.Cursor = Cursors.WaitCursor;

SqlCommand ocommand = null;

SqlConnection oconnection = null;

oconnection = new SqlConnection(“Data Source=(local);Initial Catalog=DBName ;user id=sa”);

if (oconnection.State != ConnectionState.Open)

oconnection.Open();

ocommand = new SqlCommand(command, oconnection);

ocommand.ExecuteNonQuery();

this.Cursor = Cursors.Default;

MessageBox.Show(“بازیابی اطلاعات از  نسخه پشتیبان از  با موفقیت انجام شد”);

}

catch (Exception ex)

{

MessageBox.Show(“Error : “, ex.Message);

}

}

برای اینکه مطمئن شویم از اینکه به بانک ارتباطی نداریم از دستور use master استفاده کرده ایم و بعد از بررسی عمل بازگردانی انجام می شود.

 

 


بعد این دو متد به سراغ دکمه هایی برای تهیه پشتیبان و بازگردانی میرویم که به شرح ذیر می باشد :

 

 

private void BackUpBtn_Click(object sender, EventArgs e)

{

string filename = string.Empty;

SaveBackUp.OverwritePrompt = true;

SaveBackUp.DefaultExt = “”;

SaveBackUp.Filter = @”SQL Backup Files ALL Files (*.*) |*.*| (*.Bak)|*.Bak”;

SaveBackUp.FilterIndex = 1;

string DateDay = FarsiLibrary.Utils.PersianDate.Now.ToString().Substring(0, 10);//بر اساس تاریخ شمسی ذخیره می کند

SaveBackUp.FileName = DateDay.Replace(“/”, “”) + “_” + DateTime.Now.Hour.ToString() + “-” + DateTime.Now.Minute.ToString() + “-” +   DateTime.Now.Second.ToString();

SaveBackUp.Title = “Backup SQL File”;

if (SaveBackUp.ShowDialog() == DialogResult.OK)

{

filename = SaveBackUp.FileName;

Backup(filename);

}

}

 

 


 

private void RestoreBtn_Click(object sender, EventArgs e)

{

string filename = string.Empty;

OpenBackUp.Filter = @”SQL Backup Files ALL Files (*.*) |*.*| (*.Bak)|*.Bak”;

OpenBackUp.FilterIndex = 1;

OpenBackUp.Filter = @”SQL Backup Files (*.*)|”;

 

string DateDay = FarsiLibrary.Utils.PersianDate.Now.ToString().Substring(0, 10);

OpenBackUp.FileName = DateDay.Replace(“/”, “”) + “_” + DateTime.Now.Hour.ToString() + “-” + DateTime.Now.Minute.ToString() + “-” + DateTime.Now.Second.ToString();

if (OpenBackUp.ShowDialog() == DialogResult.OK)

{

filename = OpenBackUp.FileName;

Restore(filename);

}

}

1/5 - (1 امتیاز)

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.

بزرگترین وحرفه ای ترین پکیج آموزشی شبکه و مجازی سازی
دانلود با لینک مستقیم

دسته بندی موضوعات

آخرین محصولات فروشگاه

مشاهده همه

نظرات

  1. سلام من میخوام این کارو با معماری سه لایه انجام بدم میشه راهنماییم کنید؟

بازخوردهای خود را برای ما ارسال کنید

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.