PDA

View Full Version : خطا



ealireza
جمعه 01 تیر 1386, 20:18 عصر
سلام

یک دیتابیس دارم که LOG نداره
فکر کنم فایل دیتابیس آسیب دیده
طبق دستورات این سایت (http://wiki.servertastic.com/Attaching_a_MDF_file_without_The_LDF)جلو رفتم
و در این مرحله


DBCC REBUILD_LOG('DBNAME','C:\pathtofile\file.LDF')
ALTER DATABASE DBNAME SET MULTI_USER

GO

به خطای زیر برخورد کردم



Server: Msg 3624, Level 20, State 1, Line 1

Location: filemgr.cpp:1905
Expression: fcb->GetSize () < fileSize
SPID: 51
Process ID: 2276

Connection Broken



قبلا بارها این کارو کرده بودم و فکر کنم دیتابیس مشکل داره

آیا راه حلی وجود داره ؟

مرسی

AminSobati
جمعه 01 تیر 1386, 22:33 عصر
علیرضا جان متاسفانه باید بگم حدس شما درسته و دیتابیس صدمه فیزیکی دیده. من یقین ندارم مشکل از Log File باشه. ممکنه Data File آسیب دیده باشه. آیا سعی کردین بدون Log File دیتابیس رو Attach کنین تا خوده SQL Server براتون Log File رو بسازه؟ (از طریق Enterprise Manager)

ealireza
جمعه 01 تیر 1386, 22:49 عصر
سلام
من طبق دستور http://wiki.servertastic.com/Attaching_a_MDF_file_without_The_LDF
عمل کردم
و سعی کردم بدون لاگ ادد کنم اررور بالا رو داد

میشه راهنمایی کنید

ealireza
جمعه 01 تیر 1386, 23:08 عصر
آیا سعی کردین بدون Log File دیتابیس رو Attach کنین تا خوده SQL Server براتون Log File رو بسازه؟میشه مراحل این کار رو بگین
متاسفانه بلد نیستم


مکنه Data File آسیب دیده باشهآیا در صورت آسیب دیدن فایل دیتا
تمامی اطلاعات از بین میره ؟

آیا میشه تاجای ممکن اطلاعات توش رو در آورد ؟


متشکرم

AminSobati
شنبه 02 تیر 1386, 15:01 عصر
در Enterprise Manager آدرس MDF رو بدین. وقتی آدرس Log File رو پیدا نکنه جلوش علامت قرمز میگذاره. شما تایید کنین، پیغام میده که Log File رو میسازم.
البته این در حالتی جواب میده که MDF سالم باشه.
نرم افزارهای Third Party برای Data Recovery وجود داره که من الان مورد خاصی در ذهنم نیست تا معرفی کنم اما در اینترنت جستجو کنین پیدا میشه.

reza_rad
شنبه 02 تیر 1386, 15:04 عصر
الان status دیتابیس تون suspect هست؟
شاید با emergency status بتونی یه کارهایی بکنی...

از 2000 استفاده می کنی یا 2005؟

ealireza
شنبه 02 تیر 1386, 16:00 عصر
الان status دیتابیس تون suspect هست؟
شاید با emergency status بتونی یه کارهایی بکنی...

از 2000 استفاده می کنی یا 2005؟
sql 2000 هست
با emergency mode تونستم ادش کنم
اما برای ایجاد لوگ خطای زیر رو داد



Server: Msg 3624, Level 20, State 1, Line 1

Location: filemgr.cpp:1905
Expression: fcb->GetSize () < fileSize
SPID: 51
Process ID: 2276

Connection Broken

ealireza
شنبه 02 تیر 1386, 16:02 عصر
در Enterprise Manager آدرس MDF رو بدین. وقتی آدرس Log File رو پیدا نکنه جلوش علامت قرمز میگذاره. شما تایید کنین، پیغام میده که Log File رو میسازم.
البته این در حالتی جواب میده که MDF سالم باشه.
نرم افزارهای Third Party برای Data Recovery وجود داره که من الان مورد خاصی در ذهنم نیست تا معرفی کنم اما در اینترنت جستجو کنین پیدا میشه.

نرم افزارهای Third Party برای Data Recovery وجود داره که من الان مورد خاصی در ذهنم نیست تا معرفی کنم اما در اینترنت جستجو کنین پیدا میشه.

من فقط یکی پیدا کردم که کار کرد
500 دلار قیمتش هست و کرکم براش نتونستم پیدا کنم :(

فقط یک راه فکر کنم باشه
باید 10000 خرج کنم تا با یک دستگاه های مخصوصی رید رو تعمیر کنن :(
دیگه هیچ راهی نیست ؟

AminSobati
شنبه 02 تیر 1386, 16:11 عصر
RAID چند استفاده میکردین؟

ealireza
شنبه 02 تیر 1386, 18:27 عصر
Raid 5
دوتا از هارد درایو ها فیل کرده فکر کنم

AminSobati
شنبه 02 تیر 1386, 19:40 عصر
اول مطمئن بشید که دو تا باهم Crash کرده. چون اگر یکی Fail شده باشه باید بتونین با تعویض دیسک خراب، اطلاعات رو بازسازی کنین

ealireza
شنبه 02 تیر 1386, 21:40 عصر
العان دو تا رید (6 هارد) و یک هارد بک آپ (OS) روی سرور هست
یکی از رید ها خراب بوده که بعد از دستکاری توسط مهندسان دیتاسنتر رو سیستم شناسایی میشه و میشه فایل هاش رو کپی کرد .
من کاملا گیج شدم
چطوری میتونم حد اقل نیمی از این 80 گیگ رو بر گردونم :(
LOG حدود 60 مگ هست .
آیا LOG بدرد نمیخوره ؟

AminSobati
شنبه 02 تیر 1386, 22:32 عصر
من متوجه نشدم، وقتی میشه فایلهاش رو کپی کرد، پس چرا فقط Log File وجود داره؟ Data File کجاست؟ اگر Data File رو نشه کپی کرد پس Log رو هم که نمیشه!
آیا فایلهای دیتابیس رو روی دیسکها پراکنده کرده بودین؟

ealireza
شنبه 02 تیر 1386, 22:52 عصر
نه استاد
هم لوگ قابل کپی هست هم دیتا
متاسفانه موقع اتچ
INVALID LOG FILE میده.

AminSobati
شنبه 02 تیر 1386, 23:46 عصر
Backup از Log ندارین؟ اصلا backup دارین؟

reza_rad
یک شنبه 03 تیر 1386, 07:45 صبح
sql 2000 هست
با emergency mode تونستم ادش کنم
اما برای ایجاد لوگ خطای زیر رو داد


خب اگه می تونی بیاریش توی حالت emergency mode مشکلی نباید باشه.
می تونی با SSIS package ها داده هات رو بریزی توی یه دیتابیس دیگه. البته زمان می بره ولی بعنوان آخرین راه حل برای بازیابی داده های خوبه.

reza_rad
یک شنبه 03 تیر 1386, 08:44 صبح
میشه کد این کار رو بهم بدین ؟

کد برای آوردن دیتابیس تون توی حالت emergency :


sp_resetstatus @dbname='your_db_name'

sp_configure 'allow updates' , 1
GO
Reconfigure with OVERRIDE
GO
update master..sysdatabases set status=-32768 where name='your_db_name'
GO
sp_configure 'allow updates',0
GO
reconfigure with OVERRIDE




بعد از اینکه به حالت emergency دراومد دیتابیس با استفاده از پکیج های DTS اطلاعاتت رو بریز توی یه دیتابیس دیگه:
http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/dtssql2k.mspx

البته DTS package ها یک گزینه برای انتقال کامل دیتابیس داره تست کن ببین با اون می تونی تمام دیتابیس رو منتقل کنی؟ چون قسمت انتقال تمام دیتابیس اش یه کم باگ داره.
اگه نشد از transform data Task باید استفاده کنی .

ealireza
یک شنبه 03 تیر 1386, 17:23 عصر
جناب راد اگه منظورتون هومن Export/Import خود SQL هست من سعی کردم
اما خطا داد
transform data Task
به چه صورتیه ؟

reza_rad
یک شنبه 03 تیر 1386, 17:33 عصر
جناب راد اگه منظورتون هومن Export/Import خود SQL هست من سعی کردم
اما خطا داد
transform data Task
به چه صورتیه ؟


میشه گفت نوعی از import export هست. ولی با امکانات بیشتر.
چه خطایی داد؟

reza_rad
دوشنبه 04 تیر 1386, 07:01 صبح
جناب راد میشه در مورد استفاده از اون هم یه توضیحی بدین
شاید اون جواب داد

من لینک دادم اونجا بهتون که.
ولی چشم دوباره:
http://www.microsoft.com/technet/prodtechnol/sql/2000/deploy/dtssql2k.mspx

باید از طریق enterprise manager اول روی سرور کلیک کنی
بعد توی قسمت Data Transformation Services
و بعد Local packages
حالا اینجا new package بزنی و ...
توی اون لینکی که دادم توضیح داده شده.

ealireza
دوشنبه 04 تیر 1386, 08:32 صبح
متاسفانه خطا داد


Task Failed during execution

reza_rad
دوشنبه 04 تیر 1386, 08:54 صبح
الان mode دیتابیس تون احتمالا برگشته به حالت suspect . همینطوره یا نه؟

ealireza
دوشنبه 04 تیر 1386, 11:14 صبح
دقیقا
آیا شما
Recovery for SQL Server 2.2.0630
رو دارید ؟
خیلی گرونه ولی باهاش میشه T-sql رو ساخت

چه پیشنهادی دارین ؟

reza_rad
سه شنبه 05 تیر 1386, 08:30 صبح
دقیقا
آیا شما
Recovery for SQL Server 2.2.0630
رو دارید ؟

متاسفانه خیر.


چه پیشنهادی دارین ؟

با توجه به اینکه شما هر کاری که می خوای بکنی دیتابیس تون بر می گرده به حالت suspect . و باز با توجه به نوع اروری که توی صفحه اول گذاشتید اینطور به نظر میرسه که دیتافایل شما آسیب دیده و فکر می کنم تنها راهی که واستون باقی می مونه همون recover کردن با ابزارهای recovery هست.