PDA

View Full Version : پیغام خطا



mehdi58
جمعه 13 مرداد 1385, 18:47 عصر
سلام
پیغام خطای زیر به چه دلیله ( یعنی به چه علت اتفاق می افته ) :

Error 823 : I/O error ( bad page ID) detected during read at offset 0x0000000019e000b in file ‘d:\program files \ Microsoft Sql Server \Mssql\Data\MyDB_Data.MDF’

متشکرم

AminSobati
جمعه 13 مرداد 1385, 20:22 عصر
احتمالا اشکال در فایل وجود داره. از dbcc checkdb استفاده کنید

mehdi58
جمعه 13 مرداد 1385, 21:57 عصر
من قبلا از اون استفاده کردم اما باز هم مشکل حل نشد !!!

AminSobati
جمعه 13 مرداد 1385, 23:22 عصر
dbcc checkdb برای رفع اشکال نیست، فقط کمک میکنه محل اشکال در فایل کمی دقیقتر مشخص بشه.

majid_afra222
جمعه 13 مرداد 1385, 23:30 عصر
سلام
مشکل جالبیه خود مایکروسافتم فقط سمبل کرده، من کامل نخوندمش ولی تاپیک مربوط به همین خطا تو مایکروسافته شاید یه چیز بدرد بخوری داشت (البته بعید میدونم) :
http://support.microsoft.com/default.aspx?scid=kb;en-us;828339

AminSobati
شنبه 14 مرداد 1385, 00:46 صبح
به اعتقاد من موضوع سمبل کردن نیست، بلکه این اشکال اساسا متوجه SQL Server نمیشه. زمانی که اشکال در نوشتن اطلاعات پیش بیاد، مثل خرابی در دیسک، نوسان برق و تاثیرش بر روی Head هارد دیسک و یا هر نوع اشکال در IO، اینجا از دست مایکروسافت کاری ساخته نیست چون اشکال نرم افزاری نبوده. فقط در صورت داشتن Backup منظم، میشه Restore انجام داد.

majid_afra222
شنبه 14 مرداد 1385, 06:29 صبح
سلام
اینها رو خود مایکروسافت میگه (در آدرس بالا که ارسال شده)، ولی بهتره یه راه حلی چیزی هم بگه.

AminSobati
شنبه 14 مرداد 1385, 11:02 صبح
بعضی از اشکالات توسط DBCC CHECKDB به صورت اتوماتیک Repair میشن. به عنوان مثال، در حین ورود 1000 رکورد (یکباره) به جدول، ممکنه موقع نوشتن Footer در یک Page که به Page بعد از خودش میخواد آدرس بده، مشکلی پیش بیاد و این آدرس نوشته نشه. اینجا با توجه به وجود اصل دستور در Log File احتمال یک Rollback موفقیت آمیز وجود داره و دیتابیس رو از صدمه فیزیکی محافظت میکنه. حداکثر کاربر باید دستور Insert رو مجددا اجرا کنه. اما در بعضی حالتها ممکنه به دلیل اشکالات فیزیکی، اصل دستور هم Log نشده باشه. حالا یک معادله وجود داره با 2 مجهول! لذا هیچ راه حلی غیر از Restore نمیشه ارائه کرد.