PDA

View Full Version : restore کردن اطلاعات بعد از Backup



ehsan11
دوشنبه 05 بهمن 1388, 18:29 عصر
سلام
من این سوال رو تو تایپیکهای قبلی گفتم کسی جواب درستی نداد کسی هست کمک کنه
من وقتی می خوام backup گرفته شده رو restore کنم خطای زیر رو میده

Invalid zero-length device name. Reissue the BACKUP statement with a valid device name.
RESTORE DATABASE is terminating abnormally.
Changed database context to 'master

علت این خطا چیه ؟
چطوری رفعش کنم؟
برنامه رو تو سی شارپ با کد اجرا میکنم

slashslash2009
دوشنبه 05 بهمن 1388, 18:39 عصر
اگر از ویژوال استدیو بیاید بیرون و فایل exe برنامتونو اجرا کنید و بعدش ریستور کنید دیگه این خطا رو نمیده وقتی دیتابیستون باز باشه و فعال نمیشه ریستور کرد . یا اینکه در قسمت server explorer روی دیتابیسمون راست کلیک و close connection کنیم بعدش میشه هنگام کار با VSریستور کرد

ehsan11
دوشنبه 05 بهمن 1388, 20:57 عصر
سلام
از اینکه جواب دادی ممنون ولی این کار هم جواب نداد و باز همون خطا رو میده
تو برنامه من بار اول که backup میگیری اگه همون موقع restore کنی جواب میده ولی اگه از برنامه خارج شدی و بعد بخوای restore کنی خطا میده علتش رو نمیدونم

slashslash2009
دوشنبه 05 بهمن 1388, 21:01 عصر
ببین کانکشن استرنگتون درسته . کد restore تون هم بزارید لطفا

ehsan11
دوشنبه 05 بهمن 1388, 22:32 عصر
SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=.\\;Initial catalog=master;Integrated Security=true";
SqlCommand cmd = new SqlCommand();
con.Open();
string query = "use master RESTORE DATABASE xerographic FROM DISK ='" + strFileName + "'WITH RECOVERY, REPLACE";// "USE master RESTORE DATABASE xerographic FROM DISK ='" + strFileName + "'WITH RECOVERY, REPLACE";
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("بازیابی به درستی انجام شد\nدوباره وارد برنامه شوید");
Application.Exit()
;تو connection string جای master اسم databas رو گذاشتم بازم جواب نداد
برای دستور restore از کد single user استفاده کردم جواب که نداد هیچی پیغام میداد که دیتا بیس باز نمیشه

slashslash2009
سه شنبه 06 بهمن 1388, 00:19 صبح
موقع ارسال کد کدتونو بین تگ (کلید شارپ رو بزنید # نه روی کیبوردا , همین تاسکبار بالا)بعدا ارسال کنید
به جای master نباید اسم دیتابیستونو بزنید بعدش ببینید چه خطایی میده اگر این خطا رو داد اون کاریو که گفتم انجام بدین چون تو برنامه خودم که درست میشه
Exclusive access could not be obtained because the database is in use.Restore database is terminating abnormally
کدتون هم که مشکلی نداره شاید دارید از نسخه sql expresss استفاده میکنید و مسیر فایلتونو درست وارد میکنید strfilename رو میگم.

corona
سه شنبه 06 بهمن 1388, 13:25 عصر
دوست عزیز به این تاپیک یک سری بزن . من با کمک دوستان جواب گرفتم .
http://barnamenevis.org/forum/showthread.php?p=896095#post896095