رفع مشکل Suspect دیتابیس در SQL Server
یکی از مشکلات که در کار با پایگاه داده SQL ممکن است برای شما پیش بیاید SUSPECT شدن دیتابیس است، در این حالت شما قادر به اتصال به پایگاه داده نخواهید بود. در این مقاله ما مراحل را که باید برای بازیابی یک پایگاه داده که به عنوان SUSPECT علامت گذاری شده است انجام دهید را شرح میدهیم
علت مشکل:
- دیتابیس مورد نظر ممکن است Corrupted شده باشد.
- فضای خالی برای SQL Server وجود ندارد. به همین دلیل نمیتوانید در زمان شروع به کار دیتابیس را Recover کند.
- فایل دیتابیس مورد نظر به هر دلیلی برای SQL Server قابل دسترس نیست.
- فایل دیتابیس توسط سیستم عامل و یا سیستم های بکاپ گیری در حال استفاده میباشد.
- عملیات غیر منتظره Shutdown ، مشکل سخت افزاری و یا مشکلی در برق رسانی به سیستم ایجاد شده و یکی از این عوامل باعث بروز این مشکل شده است.
رفع مشکل:
یک New Query باز کنید (آموزش SQL بخش اول)
یکسری Query را باید برای دیتابیس خود اجرا کنیم
کدهای زیر را Copy کرده و Execute کنید ( بجای DBName نام دیتابیس خود را بنویسید)
با کوئری زیر نشان suspect را غیر فعال میکینم
EXEC sp_resetstatus 'DBName'
با کوئری زیر دیتابیس را به وضعیت اضطراری (EMERGENCY ) قرار میدهیم
ALTER DATABASE DBName SET EMERGENCY
سپس کوئری زیر دیتابیس را بررسی میکینم
DBCC CheckDB (' DBName')
با کوئری زیر دیتابیس را به حالت تک کاربره (SINGLE_USER) میبریم
ALTER DATABASE DBName SET SINGLE_USER WITH ROLLBACK IMMEDIATE
با کوئری زیر دستور بررسی و تعمیر دیتابیس را میدهید توجه کنید که شاید برخی اطلاعات را از دست بدهید
DBCC CheckDB (' DBName ', REPAIR_ALLOW_DATA_LOSS)
با کوئری زیر دیتابیس را به حالت چندکاربره ( MULTI_USER) باز میگردانیم
ALTER DATABASE DBName SET MULTI_USER
با داشتن فایل پشتیبان (BACKUP) در این حالت خیالتان آسوده است که کمترین مشکل را حتی در صورت بازیابی نشدن دیتابیس خواهید داشت (آموزش پشتیبانگیری خودکار از SQL Server)
در این مقاله شما متوجه شدهاید که چگونه میتوانید یک پایگاه داده را که دارای علامت اختصاری SUSPECT است بازیابی کنید.