عدم دسترسی به دیتابیس بعد از قطعی برق
با سلام
دوستان دیتابیسی روی سرور داشتیم که با قطعی برق آسیب دید.
از دیتابیس هم فقط یه فایل mdf داریم و وقتی میخوام اون رو بدون فایل ldf به attach کنم خطا میده.
متاسفانه چون چند نفر هم روی سرور کار کردند فایل ldf رو یا پاک کرده اند یا rename کردند.در هر صورت با وجود اینکه چندین فایل ldf داشتیم تک تک اونها رو تست کردیم ولی متاسفانه به هیچ صورت به دیتابیس attach نشد.
حتی یه دیتابیس جدید ساختم و فایل mdf رو تنها و حتی با تک تک ldf هم جایگزین کردم در این حالت دیتابیس attach میشه ولی خالی هستش یعنی هیچ objectی نداره و وقتی روی دیتابیس توی sql server کلیک میکنم(روی علامت +)خطای is not accessible میده.
راستش یک بار تونستم به حالت suspend و بعد emergency درش بیارم ولی متاسفانه deattach یا delete کردم.
ضمنا خود فایل mdf بدون ldf هم attach نمیشه و خطا میده
حالا هم هر کار میکنم دیگه نمیشه نمیدونم اون فایل هایی که تونستم به حالت suspend بیارم نیستن چطوری شده نمیدونم.
ممنون میشم کمک کنین
8 پاسخ
شما نباید detach میکردید. می تونستید با ساختن یک بانک اطلاعاتی با همان نام و شیره مالیدن بر سر SQL Server بانک اطلاعاتی را بازیابی کنید.
شما میتوانید از یکی از نرم افزارهای ApexSQL Universal Ultimate SQL Bundle
که مربوط به ریکاوری فایل mdf است استفاده کنید.
ISAC: دوست عزیز شما باید اول چک کنی ببینی تراکنش باز وجود دارد یا خیر. در ضمن فایل تراکنش نباید حذف بشه و اینکه نباید Detach بشه.
راه حل مشکل شما: اول باید بانک اطلاعاتی به صورت Offline دربیاد بعد فایل بانک اطلاعاتی خراب در جای دیگر کپی بشه بعد یک بانک اطلاعاتی با همان نام و همان سایز ساخته بشه و بعد آن هم offline بشه. فایل بانک اطلاعاتی خراب دوباره کپی بشه جای بانک سالم بعد به صورت online دربیاد و بعد با دستور DBCC CHECKDB(... , RepairAllowData_loss) فایل تراکنش را با بانک اطلاعاتی همخوان کنه.
کدوم نرم افزار از این مجموعه؟؟
با سلام.
اگر mdf آسیب ندیده باشد می توانید آن را بازیابی کنید:
sp_attach_single_file_db [ @dbname= ] 'dbname' , [ @physname= ] 'physical _ name'
موفق باشید.
آقا تونستم به حالت emergency برش گردونم.
ولی حالا یه مشکل دارم اینکه میخوام به حالت معمولی برشگردونم.
کدهایی توی وب هست که قراردادن تو حالت singleuser و...
ولی خطا میده:
Database ... cannot be opened.It has marked Suspend by Recovery
ApexSQL Recover
نه عزیز این هم جواب نداد.
بنظرتون اگه mdf آسیب دیده باشه باید چیکار کرد؟