PDA

View Full Version : حرفه ای: backup از ديتابيس sqlexpress



EBRAHIMIEKOKDARAGHI
چهارشنبه 17 خرداد 1391, 11:53 صبح
باسلام خدمت دوستان و اساتيد محترم
من تو اينترنت در باره backup و restore از ديتابيس sqlexpress سرچ زيادي كردم چيزي دستگيرم نشد كه به درد بخور باشه
ازكساني در اين زمينه اطلاعات كاملي دارند خواهش ميكنم مرا راهنمايي كنند تا مشكلاتم حل بشه

behzadkhatari
چهارشنبه 17 خرداد 1391, 13:13 عصر
دوست عزیز برای اینکار شما باید به صورت کد نویسی عمل کنید یعنی داخل برنامتون بخشی برای backup , restore در نظر بگیرید.

ahrimaneahurai
چهارشنبه 17 خرداد 1391, 13:37 عصر
تهیه نسخه پشتیبان از SQL Express 2005 و بازیابی آن (http://1mohammadi.ir/sql/how-to-backup-and-restore-sql-express-2005/)

nilmil_nil
پنج شنبه 18 خرداد 1391, 16:54 عصر
با سلام من از این کد استفاده می کنم.همیشه هم جواب میگیرم .هم اکسپرس و هم سرور


public static void BackUpDatabase2(string strAddress)
{
string ConStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DataBeh.MDF;Integrated Security=True;User Instance=true";
SqlConnection con1 = new SqlConnection(ConStr);
SqlCommand com1 = new SqlCommand();
con1.Open();
com1.Connection = con1;

com1.CommandText = "BACKUP DATABASE [" + Application.StartupPath + "\\DataBeh.MDF] TO DISK = '" + strAddress + "' WITH INIT,STATS=10";
com1.ExecuteNonQuery();
con1.Close();
}
public static void RestoreDatabase2(string strAddress)
{
string ConStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DataBeh.MDF;Integrated Security=True;User Instance=true";
SqlConnection con1 = new SqlConnection(ConStr);
SqlCommand com1 = new SqlCommand();
if (con1.State != ConnectionState.Open)
con1.Open();
com1.Connection = con1;

com1.CommandText = "ALTER DATABASE ["+Application.StartupPath + "\\DataBeh.MDF] SET SINGLE_USER WITH ROLLBACK IMMEDIATE USE master RESTORE DATABASE [" + Application.StartupPath + "\\DataBeh.MDF] FROM DISK = N'" + strAddress + "' WITH FILE=1 , NOUNLOAD,REPLACE, STATS=10";
com1.ExecuteNonQuery();
con1.Close();
}

به جای DataBeh اسم دیتا بیس خهودتون رو بذارد

aspmaker
پنج شنبه 18 خرداد 1391, 17:12 عصر
اگه تحت وب کار نمیکنی از NameSpace مربوط به اس کیو ال با نام Smo استفاده کن!

ahadabasi
سه شنبه 26 شهریور 1392, 17:41 عصر
با سلام من از این کد استفاده می کنم.همیشه هم جواب میگیرم .هم اکسپرس و هم سرور


public static void BackUpDatabase2(string strAddress)
{
string ConStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DataBeh.MDF;Integrated Security=True;User Instance=true";
SqlConnection con1 = new SqlConnection(ConStr);
SqlCommand com1 = new SqlCommand();
con1.Open();
com1.Connection = con1;

com1.CommandText = "BACKUP DATABASE [" + Application.StartupPath + "\\DataBeh.MDF] TO DISK = '" + strAddress + "' WITH INIT,STATS=10";
com1.ExecuteNonQuery();
con1.Close();
}
public static void RestoreDatabase2(string strAddress)
{
string ConStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\DataBeh.MDF;Integrated Security=True;User Instance=true";
SqlConnection con1 = new SqlConnection(ConStr);
SqlCommand com1 = new SqlCommand();
if (con1.State != ConnectionState.Open)
con1.Open();
com1.Connection = con1;

com1.CommandText = "ALTER DATABASE ["+Application.StartupPath + "\\DataBeh.MDF] SET SINGLE_USER WITH ROLLBACK IMMEDIATE USE master RESTORE DATABASE [" + Application.StartupPath + "\\DataBeh.MDF] FROM DISK = N'" + strAddress + "' WITH FILE=1 , NOUNLOAD,REPLACE, STATS=10";
com1.ExecuteNonQuery();
con1.Close();
}

به جای DataBeh اسم دیتا بیس خهودتون رو بذارد

برای SQL EXPRESS امتحان شد جواب داد ، البته فقط RESTORE را امتحان کردم