PDA

View Full Version : گفتگو: مشكل در atach فايل بانك اطلاعاتي



nima-28
پنج شنبه 15 بهمن 1388, 11:12 صبح
سلام . بانك اطلاعاتي من اتچ نمي شه . تروخدا كمك كنين ....:متفکر:

kharabati
جمعه 16 بهمن 1388, 01:49 صبح
سلام.
SQL_Server شما چه نسخش چنده.
اگه بانک اطلاعاتی شما با نسخه از SQLمثلا 2008 ایجاد شده و شما میخواید اون رو با SQL_2005 یا پایین تر باز کنید به شما این اجازه رو نخواهد داد .اما اگر با 2005 ایجاد کردید و میخواید با 2008 بازکنید مشکلی پیش نمی یاد.

nima-28
شنبه 17 بهمن 1388, 08:17 صبح
بانك من sql 2000 است . نه با sql 2000 اتچ مي شه و نه با sql 2005

nima-28
شنبه 17 بهمن 1388, 09:30 صبح
اين پيغام را مي دهد :


the file you've spacified is not a valid Sqlserver database file

kharabati
شنبه 17 بهمن 1388, 21:42 عصر
سلام.
ممکنه برای اینه باشه که شما:
1-باید هر دو فایل دیتا بیس با پسوند های LDF. و MDF. رو دراخل اون پوشه ای که میخوای دیتابس رو Attach کنی باشه .
2.باید در قسمت انتخابی فایل Attach فایل با پسوند MDF. رو Attach کنی.
اگه این موارد رو رعیت کردی شاید دیتا بیست صدمه دیده باشه.
برای اطمینان روی یه کامپیوتر دیگه که SQL_Server نصب هست کار Attach امتحان کن.

حمیدرضاصادقیان
یک شنبه 18 بهمن 1388, 07:49 صبح
سلام. دوست عزیز احتمالا فایل mdf شما خراب شده و هدر اون از بین رفته. برای اینکه بتونی راهش بندازی ببین میتونی بصورت emergency اونو بازیابی کنی؟ یعنی یک دیتابیس به نام همون دیتابیس بساز بعد Sql رو Stop کن بعد اون فایل mdf خراب رو روی این یکی جدید کپی کن.بعد sql رو start کن. حالا وقتی نگاه کنی دیتابیست به حالت Suspect رفته. بعد باید توی دیتابیس master توی جدول Sysdatabases مقدار فیلد Status رو برابر -32767 قرار بدی. با اینکار یک بار که لیست دیتابیسها رو refresh کنی اون دیتابیس به حالت emergency میره. توی اون حالت میتونی با export دیتاهات رو خارج کنی یا با دستور Select into.
موفق باشید.

nima-28
یک شنبه 18 بهمن 1388, 08:41 صبح
من كارتون را مرحله به مرحله انجام دادم ولي براي تغيير مقدار status به 32767 خطا ميده چون مقدار خودش 24 است و نه مي شود نوع داده را تغيير داد و نه مقدار بزرگ قبول مي كند .

حمیدرضاصادقیان
یک شنبه 18 بهمن 1388, 10:46 صبح
خوب شما باید دسترسی تغییر رو ایجاد کنی. در Enterprise manager روی نام سرورت ،زیر مجموعه sql server groups راست کلیک کن و properties رو بزن بعد در قسمت server setting اولین گزینه که نوشته allow modifications to be made directly to the system catalogs رو تیک بزن بعد ok کن.حالا میتونی اون مقدار رو تغییر بدی.
موفق باشید.

nima-28
یک شنبه 18 بهمن 1388, 14:15 عصر
سلام .ببخشيد .
من اين گزينه allowmodification.. را هم تيك مي زنم ولي وقتي ok مي كنم و پنجره بسته مي شود تيك من را اعمال نميكند و به طبع تغيير اون مرحله قبلي پايگاه داده master را باز اجازه نمي دهد .

YASHIL9
یک شنبه 18 بهمن 1388, 19:27 عصر
باسلام

لطفا فایل .Ldf را پاک کنید و فقط فایل .mdf بمونه. حالا آنرا Attach کنید. لطفا نتیجه را به ما هم بگویید.

موفق باشید

حمیدرضاصادقیان
دوشنبه 19 بهمن 1388, 08:31 صبح
سلام. دوست عزیز کد زیر رو در Query Analyzer بنویسید.


Use Master
go
sp_configure 'Allow updates',1
go
reconfigure with override
go

بعد برید مقدار اونو تغییر بدید
یا با دستور


use master
go
update sysdatabases set status=-32767 where name='نام دیتابیس'
go

nima-28
دوشنبه 19 بهمن 1388, 10:41 صبح
آقا اون دستور رااجرا كه كردم و تيك allow هم زدم و مقدار sysdatabase را هم به -32767 تغيير دادم و بعد رفرش كردم اما بانك master به صورت readonly در آمد و ازطرفي باز هم نمي شه از پايگاه داده ام كه قبلا به شكل suspect بود و مشكل دارد export گرفت و همچنان مشكل باقي است .

user68
چهارشنبه 21 بهمن 1388, 19:31 عصر
با سلام
من وقتی میخواستم دیتابیسم رو attach کنم بلا فاصله بعد از انتخاب فایل mdf پیغام میداد ولی بعد از اینکه sql رو stop کردم و دوباره اجرا کردم این دفعه فایلا رو میاره ولی وقتی ok میزنم این ارور رو میده
http://up.iranblog.com/37261/1265918706.jpg
باید چی کار کنم خیلی فوریه باید یه سری از داده ها رو عوض کنم.
با تشکر