ورود

View Full Version : چگونگی ریستور پس از تغییرات دیتا بیس



Dr.Saeed
دوشنبه 09 فروردین 1389, 17:06 عصر
با سلام
دوستان از برنامه ی قدیمی بک آپی موجوده ولی برنامه با کلی تغییرات دیتا بیس update شده حالا اگر با کدهای زیر فایل بک آپ را ریستور کنم تغییرات دیتا بیس نادیده گرفته میشه
راه حل چیه؟؟
اگر راهنماییم کنید ممنون میشم


SqlConnection mycn = new SqlConnection(@"data source=.\SQLEXPRESS;attachdbfilename=|datadirector y|\dbname.mdf;" + "initial catalog=dbname;integrated security=true;connect timeout=30;user instance=true");
mycn.Open();
this.Cursor = Cursors.WaitCursor;
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE USE master;" + " RESTORE DATABASE dbname FROM DISK ='" + TxtRestoreBackPath.Text + "'with Replace";
cmd.Connection = mycn;
cmd.ExecuteNonQuery();
this.Cursor = Cursors.Default;
mycn.Close();
mycn.Open();
cmd.CommandText =
"ALTER DATABASE db name SET MULTI_USER";
cmd.Connection = mycn;
cmd.ExecuteNonQuery();
mycn.Close();

AminSobati
سه شنبه 10 فروردین 1389, 01:18 صبح
سلام دوست عزیزم،
Restore کردن دیتابیس دقیقا به معنی ساخت مجدد اون هست. پس اطلاعات موجود از بین میره. شما میتونین دیتابیس رو با نام دیگه Restore کنین و با کمک نرم افزارهای Database Compare این دو رو مقایسه کنید

Jozef
سه شنبه 10 فروردین 1389, 12:28 عصر
ایا فقط با داشتن backup میشه اون رو بازیابی کرد؟ خوده data base رو نداشته باشیم.

hojjat_gh
سه شنبه 10 فروردین 1389, 23:46 عصر
با سلام
آیا این مشکل دوستمون با بکاپ گیری از تیبلها حل نمیشه ؟
و در کل اگه برنامه نویسی برنامش رو بروز کرد و تغیراتی رو دیتابیسش داد اون موقع چطور اطلاعات مشتریش رو این دیتابیس جدید برگردونه ؟!!!!!!؟؟؟؟؟

AminSobati
چهارشنبه 11 فروردین 1389, 11:56 صبح
با سلام
آیا این مشکل دوستمون با بکاپ گیری از تیبلها حل نمیشه ؟
و در کل اگه برنامه نویسی برنامش رو بروز کرد و تغیراتی رو دیتابیسش داد اون موقع چطور اطلاعات مشتریش رو این دیتابیس جدید برگردونه ؟!!!!!!؟؟؟؟؟

سلام دوست عزیزم،
همیشه این تغییرات باید Script بشه تا بتونین به مشتری منتقل کنین

AminSobati
چهارشنبه 11 فروردین 1389, 11:56 صبح
ایا فقط با داشتن backup میشه اون رو بازیابی کرد؟ خوده data base رو نداشته باشیم.

اگر Full Backup گرفته باشین، بله

Jozef
چهارشنبه 11 فروردین 1389, 12:09 عصر
چطور امکان پذیره؟
روش کار چطوری است؟

AminSobati
پنج شنبه 12 فروردین 1389, 12:06 عصر
در هنگام Restore کردن یک Full Backup، تمام فایلهای دیتابیس دوباره ساخته میشه. روش کار نکته خاصی نداره

Dr.Saeed
جمعه 13 فروردین 1389, 19:29 عصر
اگه درست متوجه شده باشم اگه ما از برنامه یه فول بک آپ گرفته باشیم و بعد از اون تغییراتی در دیتابیسمون اعمال کرده باشیم و اونو ریستور کنیم مشکل حله
چطوری میشه با کد یه فول بک آپ گرفت ؟؟؟
روش کدی با اسکریپ چطوریه؟؟
در ضمن ممنون میشم لینکی یا منبع و مرجعی معرفی کنید
با تشکر

AminSobati
جمعه 13 فروردین 1389, 23:41 عصر
وقتی Restore روی یک دیتابیس موجود انجام بدین، مثل اینه که دیتابیس رو از بین بردین و Backup رو جایگزین کردین، اینطور نیست که فقط تغییرات منتقل بشه.
در مورد انتقال تغییرات بوسیله اسکریپت، منظور این هست که دستورات رو در مقصد اجرا کنین:

alter table mytable
add newColumn int