خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


رفع suspect شدن دیتابیس در sql

رفع suspect شدن دیتابیس در sql
بعضا در دیتابیس های SQL ای خود ممکن است که با حالت Suspect شدن دیتابیس مواجه شوید و در این حالت نرم افزاری که با این دیتابیس کار می کند Disconnect می شود و امکان ایجاد هیچ ارتباطی بین آنها وجود ندارد و این یک وضعیت قرمز است که باید سریعا در صدد رفع آن برآیید. البته شایان ذکر است که این وضعیت، اتفاقی نیست که هر روز با آن مواجه شوید و هر روز با آن سر و کله بزنید ولی اغلب این اتفاق ممکن است به دلایل خطای سخت افزاری یا اشتباهات عملیاتی(مانند حذف یک فایل transaction log) رخ دهد. در ادامه می خواهیم به برخی دلایلی که منجر به رخ دادن حالت Suspect در دیتابیس می شود، بپردازیم.

سیستم یکپارچۀ سازمانی راهکار
از جمله دلایلی که منجر به وضعیت Suspect در دیتابیس SQL می شود، عبارتنداز:


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

باز کردن دستگاهی که داده ها یا Log files ها در آن مستقر است، با شکست مواجه شود.

SQL server به دلیل وجود انتی ویروس نمی تواند به دیتاها یا Log file ها دسترسی داشته باشد.

مشکلات و خرابی سخت افزاری

از کار انداختن ناجور سرویس SQL Server، مثلا خاموش کردن یا ریستارت کردن دستی سرور، Kill کردن سرویس SQL

سرویس اس کیو ال را به جای اینکه استاپ کنید، آن را kill کنید ممکن است منجر به Suspect دیتابیس بشود.

عدم وجود فضای کافی دیسک در زمان نوشتن اطلاعات یا writing data

خرابی های مختلف فایل db

خرابی Log files & database

خود دیتابیس خراب یا Corrupt شده باشد

فضای کم و ناکافی مموری

حذف کردن یک transaction log

اینها برخی دلایلی بود که در صورت تحقق یکی از این موارد، در سیستمی که SQL Server در آن نصب است، ممکن است منجر به وضعیت Suspect در دیتابیس شود.
حالا چنانچه با این وضعیت روبرو شدید، می توانید با اجرای کد زیر در SQL، مشکل Suspect شدن دیتابیس را حل کنید.


EXEC sp_resetstatus [YourDataBaseName];
ALTER DATABASE [YourDataBaseName] SET EMERGENCY
DBCC checkdb([YourDataBaseName])
ALTER DATABASE [YourDataBaseName] SET SINGLE_USER WITH ROLLBACK IMMEDIATE
DBCC CheckDB ([YourDataBaseName], REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE [YourDataBaseName] SET MULTI_USER


فقط در کد فوق، بجای YourDataBaseName، باید نام دیتابیس Suspect شده را وارد کرده و Execute کنید.


اگر به مباحث پایگاه داده و SQL علاقمند هستید، میتوانید آموزش های SQL را در لینک زیر دنبال کنید:
آموزش پایگاه داده اس کیو ال سرور به زبان ساده از مبتدی تا پیشرفته بصورت کاملا کاربردی


نمایش دیدگاه ها (0 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز