PDA

View Full Version : Recover SQL Server Database from SUSPECT Mode



parhamDK
سه شنبه 02 آذر 1389, 09:41 صبح
سلام
گاهی اوقات ممکن است دیتابیس شما به حالت suspect Mode درآید .بیشتر مواقع این اتفاق زمانی رخ می دهد که fileGroup دیتابیس شما اسیب دیده باشد . در حالت کلی زمانی که دیتابیس در حالت Suspect Mode می باشد هیچ کس نمی تواند از دیتابیس استفاده نماید .
برای رفع این مورد باید دیتابیس را به حالت EMERGENCY Mode درآوریم .

ALTER DATABASE dbName SET EMERGENCY

سپس دیتابیس را به حالت Single User در می آوریم .
نکته :
حالت Single User به ما اجازه recover کردن دیتابیس آسیب دیده را میدهد .

ALTER DATABASE dbName SET SINGLE_USER

سپس از دستور مورد علاقه من DBCC CheckDB استفاده میکنیم . http://dataserver/webwiz/smileys/smiley2.gif این دستور تمام allocation, structural, logical integrity and errors از آبجکت های دیتابیس را پک میکند .
زمانی که شما از “REPAIR_ALLOW_DATA_LOSS” در DBCC استفاده میکنید این پروسیجر تمام خطاها را پیدا کرده و Repair میکند .

نکته : این Repair باعث میشود بعضی از دیتا ها را از دست بدهیم .

DBCC CheckDB (dbName , REPAIR_ALLOW_DATA_LOSS)

کار ما تمام شد http://dataserver/webwiz/smileys/smiley1.gif

دیتابیس را به حالت multi User باز میگردانیم .

ALTER DATABASE dbName SET MULTI_USER

حمیدرضاصادقیان
سه شنبه 02 آذر 1389, 10:42 صبح
سلام.ممنون از توضیحاتتون. این مورد در 2005و2008 هست .در 2000 باید فیلد status جدول sysdatabasesرو به -32767 تغییر بدیم.