PDA

View Full Version : تبدبل فایل bak به mdf در sql2000



blackcats
چهارشنبه 26 خرداد 1389, 22:49 عصر
من یه مدتی است هرچی تو اینترنت search میکنم درباره این موضوع که چجوری میشه فایل bak رو تبدیل به mdf کرد وقت گذاشتم اما به نتیجه های نرسیدم.
من خیلی از sql سر در نمیارم با sql2000 کار میکنم.
حقیقت اینه که من از از روی هاست فایل bak دیتابیسم رو دانلود کردم اما الان که میخوام تبدیلش کنم به mdf که ازش استفاده کنم نمیشه.
واقعا اگر کسی بتونه مشکلمو حل کنه یه دعا از ته قلبم براش میکنم!!!!(چون کاری بجز این از دستم بر نمیاد)
در ضمن تا اونجایی رفتم که فقط فایل bak که خودت از mdf ساختی رو restore کنی اما نمیشه فایل bak که mdf روی سیستمت نیست رو برگردونی و restore کنی error میگیره.

با تشکر از راهنمایی دوستان sqlیی
یا علی

hamid-nic
پنج شنبه 27 خرداد 1389, 00:31 صبح
سلام
دوست عزیز تا اونجایی که من می دونم این درخواست شما منطقی نیست . چون :
1- فایل پشتیبان قادر به تبدیل شدن به MDF یا هر فایل دیتابیسی با این ساختار را نداره .
2- فایل پشتیبان در صورتی بازیابی میشه که فایل های MDF و LDF و احیاناً NDF روی برنامه (مثلا Enterprise Manager ) وجود داشته باشه .
و . . .

شما برای استفاده از فایل بک آپت باید فایل های دیتابیس (MDF , LDF و در صورت وجود NDF)را هم داشته باشی .
موفق باشید .

ASKaffash
شنبه 29 خرداد 1389, 15:19 عصر
سلام فایل Bak فایل backup شماست اول روی SQLServer خودتان یک DataBase همنام آن DataBase که Backup گرفته اید ایجاد کنید بعد عمل Restore را انجام دهید

blackcats
شنبه 29 خرداد 1389, 20:53 عصر
این کارو انجام دادم ام بازم نشد.
احتمال داره چون جدول های که توی لوکال مجازی ساختم چون یکی نیست نمیزاره restore کنه

blackcats
دوشنبه 31 خرداد 1389, 21:23 عصر
یه database با همون اسم ساختم و یک backup ازش ساختم بعد اومدم فایل backup که از روی سرور گرفته بودمو جایگزین این فایل کردم با همین اسم اما erorr زیر رو داد.
علتش چیه.
خواهشن اگر میتونید کمکم کنید خیلی Force هست.

hamid-nic
سه شنبه 01 تیر 1389, 00:48 صبح
یه database با همون اسم ساختم و یک backup ازش ساختم بعد اومدم فایل backup که از روی سرور گرفته بودمو جایگزین این فایل کردم با همین اسم اما erorr زیر رو داد.
علتش چیه.
خواهشن اگر میتونید کمکم کنید خیلی Force هست.
دوست عزیز ساختن یک دیتابیس صرفاً با نام اون دیتابیس که شما ازش بکاپ دارید کار شما را حل نمی کنه . باید کل ساختار اون بانک داشته باشی یعنی جداول ، ویو ها ، Sp ها و . . . .
شما اگر از ساختار بانکی که بک آپ گرفتی اطلاع داری شروع به درست کردن اون کن . بعد که کل جداول و ویو ها و . . . را ساختی شروع به Restore کن .

blackcats
سه شنبه 01 تیر 1389, 07:18 صبح
یعنی باید کل table هاشو درست کنم؟
راهی نیست که بدون درست کردن ساختار کلی Sql بشه اونو restore کرد که table هاشم خودش بسازه؟

ASKaffash
سه شنبه 01 تیر 1389, 10:16 صبح
دوست عزیز ساختن یک دیتابیس صرفاً با نام اون دیتابیس که شما ازش بکاپ دارید کار شما را حل نمی کنه . باید کل ساختار اون بانک داشته باشی یعنی جداول ، ویو ها ، Sp ها و . . . .
شما اگر از ساختار بانکی که بک آپ گرفتی اطلاع داری شروع به درست کردن اون کن . بعد که کل جداول و ویو ها و . . . را ساختی شروع به Restore کن .
سلام
نه فقط بانک خالی هم باشد می شود تست کنید خواهید دید

hamid-nic
سه شنبه 01 تیر 1389, 23:11 عصر
نه فقط بانک خالی هم باشد می شود تست کنید خواهید دید
سلام
شما مطمئنی که میشه این کار را کرد یعنی فقط یک دیتابیس با نام دیتابیس اصلی ایجاد کرد بدون هیچ جدولی و . . . و با Restore کردن بک آپ کل ساختار بوجود بیاد ؟؟؟؟!!!!! :متعجب:

ASKaffash
چهارشنبه 02 تیر 1389, 07:56 صبح
سلام
شما مطمئنی که میشه این کار را کرد یعنی فقط یک دیتابیس با نام دیتابیس اصلی ایجاد کرد بدون هیچ جدولی و . . . و با Restore کردن بک آپ کل ساختار بوجود بیاد ؟؟؟؟!!!!! :متعجب:
سلام
آره Restore میشه کامل و بی نقص

blackcats
چهارشنبه 02 تیر 1389, 22:30 عصر
سلام
من اینکارو کردم اما با این ارور مواجه شدم که در فایل ضمیمه هست.
این کار برام تلسم شده فکز کنم باید با خودم به گور ببرم این موضوع رو!!!!!!1

pezhvakco
شنبه 05 تیر 1389, 18:21 عصر
درود :
روشی که جناب ASKaffash (http://barnamenevis.org/forum/member.php?u=63973) میگه انجام شدنی و درسته .
اگه فایل پشتیبان مورد نظرت درسته ، نسخه های هر دو پایگاه داده یکیه، برگرداندن اطلاعات رو از مسیر درست میری ، میتونی برای امتحان فایل رو این جا قرار بدی تا زودتر به جواب برسی .

فکر خوش .

ASKaffash
یک شنبه 06 تیر 1389, 07:40 صبح
سلام

من اینکارو کردم اما با این ارور مواجه شدم که در فایل ضمیمه هست.
این کار برام تلسم شده فکز کنم باید با خودم به گور ببرم این موضوع رو!!!!!!1

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

sara.f
جمعه 18 تیر 1389, 13:52 عصر
سلام دوستان
متاسفانه فایل mdf من هم نابود شد و مجبورم از روی backup، مجددا mdf را ایجاد کنم، مراحلی که گفته بودید را رفتن، ولی این پیغام را میده.

البته من SQL Server 2008 دارم.

http://barnamenevis.org/forum/attachment.php?attachmentid=52575&stc=1&d=1278669123

Mostafa_Dindar
جمعه 18 تیر 1389, 14:39 عصر
من یه مدتی است هرچی تو اینترنت search میکنم درباره این موضوع که چجوری میشه فایل bak رو تبدیل به mdf کرد وقت گذاشتم اما به نتیجه های نرسیدم.
من خیلی از sql سر در نمیارم با sql2000 کار میکنم.
حقیقت اینه که من از از روی هاست فایل bak دیتابیسم رو دانلود کردم اما الان که میخوام تبدیلش کنم به mdf که ازش استفاده کنم نمیشه.
واقعا اگر کسی بتونه مشکلمو حل کنه یه دعا از ته قلبم براش میکنم!!!!(چون کاری بجز این از دستم بر نمیاد)
در ضمن تا اونجایی رفتم که فقط فایل bak که خودت از mdf ساختی رو restore کنی اما نمیشه فایل bak که mdf روی سیستمت نیست رو برگردونی و restore کنی error میگیره.

با تشکر از راهنمایی دوستان sqlیی
یا علی

همچین حرفی صحیح نیست , لازم نیست که شما اصلا دیتابیس مورد نظر را داشته باشی , به شرطی که " فایل bak شما حاوی FullBackUP باشد )

همچنین بعضی از دوستان اظهار داشتند که شما باید دیتابیسی رو بسازی و بعدا از روی فایل بک آپ اون رو Restore کنی که نیازی به این کار نیست .

یا بعضا اظهاراتی کردند که مطلقا صحیح نیست .


این کارو انجام دادم ام بازم نشد.
احتمال داره چون جدول های که توی لوکال مجازی ساختم چون یکی نیست نمیزاره restore کنه

چندین احتمال دارد ,
اول از همه , باید ببینید فایل بک آپ از چه نسخه ای از اس کیو ال است , Restore کردن فایل بک اپ نسخه های بالاتر در Sql نسخه پاینتر امکان پذیر نیست , در حالی که عکس اون صادق است .
دوم باید مطمئن شوید که FullBackup باشد , در صورتی که partialPackup یا LogBackup باشد این کار عملی نیست
سوم باید مطمئن شوید که تاریخ Expiration فایل بک آپ نگذشته باشد , شاید مدیر دیتابیس برای فایل بک آپ تاریخ انتقضا گذاشته باشد .

چهارم اینکه احتمال دارد , شما صحیح Restore نمیکنید , باید مقصد Restore را مکانی بدهید که موجود است , اجازه بدید مثالی بزنم , من از دیتابیسم که در درایو m هست یک بک آپ میگیرم و شما اون رو میخواهید Restore کنید , به طور پیش فرض در درایوی که من اون رو backUp گرفتم قصد دارد Restore شود , درحالی که شما درایو m ندارید , پس شما باید اون رو عوض کنید. ( این یکی از اشتباهات رایج هست )

پنجم این امکان هست که DataPage های اصلی آسیب دیده باشند

و دلایل بسیار دیگر که فکر نمکنم مورد شما خارج از این پنج مورد باشد


سلام دوستان
متاسفانه فایل mdf من هم نابود شد و مجبورم از روی backup، مجددا mdf را ایجاد کنم، مراحلی که گفته بودید را رفتن، ولی این پیغام را میده.

البته من SQL Server 2008 دارم.

52575

متاسفانه عکس شما واسه من قابل نمایش نیست که متن خطا رو ببینم , ولی مواردی که در بالا عرض کردم رو هم شما مد نظر داشته باشید


سربلند باشید

sara.f
جمعه 18 تیر 1389, 14:49 عصر
چندین احتمال دارد ,
اول از همه , باید ببینید فایل بک آپ از چه نسخه ای از اس کیو ال است , Restore کردن فایل بک اپ نسخه های بالاتر در Sql نسخه پاینتر امکان پذیر نیست , در حالی که عکس اون صادق است .
دوم باید مطمئن شوید که FullBackup باشد , در صورتی که partialPackup یا LogBackup باشد این کار عملی نیست
سوم باید مطمئن شوید که تاریخ Expiration فایل بک آپ نگذشته باشد , شاید مدیر دیتابیس برای فایل بک آپ تاریخ انتقضا گذاشته باشد .

چهارم اینکه احتمال دارد , شما صحیح Restore نمیکنید , باید مقصد Restore را مکانی بدهید که موجود است , اجازه بدید مثالی بزنم , من از دیتابیسم که در درایو m هست یک بک آپ میگیرم و شما اون رو میخواهید Restore کنید , به طور پیش فرض در درایوی که من اون رو backUp گرفتم قصد دارد Restore شود , درحالی که شما درایو m ندارید , پس شما باید اون رو عوض کنید. ( این یکی از اشتباهات رایج هست )

پنجم این امکان هست که DataPage های اصلی آسیب دیده باشند

و دلایل بسیار دیگر که فکر نمکنم مورد شما خارج از این پنج مورد باشد



متاسفانه عکس شما واسه من قابل نمایش نیست که متن خطا رو ببینم , ولی مواردی که در بالا عرض کردم رو هم شما مد نظر داشته باشید


سربلند باشید

متن خطا را یکبار دیگه گذاشتم، من میخوام دوباره فیلهای mdf , ldf را داشته باشم، واسه attach کردن میخوام.

Mostafa_Dindar
جمعه 18 تیر 1389, 17:54 عصر
Backup رو از کدام دیتابیس و نسخه ای گرفتین ؟
چطور Backup گرفتید؟

sara.f
جمعه 18 تیر 1389, 18:00 عصر
من back up را از SQLEXPRESS 2005 گرفتم و از دیتا بیسی به نام metre .
روی metre راست کلیک کردم و از قسمت tasks، گزینه back up را انتخاب کردم، Full و فکر می کنم که گزینه Copy Only Backup را هم زدم و هیچ تاریخ انقضایی را هم تعیین نکردم.

Mostafa_Dindar
شنبه 19 تیر 1389, 09:20 صبح
من back up را از SQLEXPRESS 2005 گرفتم و از دیتا بیسی به نام metre .
روی metre راست کلیک کردم و از قسمت tasks، گزینه back up را انتخاب کردم، Full و فکر می کنم که گزینه Copy Only Backup را هم زدم و هیچ تاریخ انقضایی را هم تعیین نکردم.

SQL2005 فارغ از نسخه اون گزینه Copy Only را ندارد , شما از نسخه 2008 بک آپ گرفتید .

Restore کردن بک آپ 2008 بر روی 2005 مشکل ساز خواهد بود.

blackcats
یک شنبه 20 تیر 1389, 15:29 عصر
سلام
خدا رو شکر مشکل من برطرف شد.
با نصب Sql 2005 و انجام کارهایی که دوستان گفته بودن مشکلم برطرف شد.
احتمالا فایلی که هاست بهم داده بود 2005 بوده و من با 2000 خواستم restore کنم.
البته باید بگم که database server ورژن 2000 بود

نکته اخلاقی:همیشه آدم باید سعی کنه با تکنولوژی روز بره جلو!!!!