Dò data và Fix data SQL Suspect
Lệnh dò tìm các Data bị Suspect
SELECT sys.databases.name, msdb..suspect_pages.event_type, msdb..suspect_pages.database_id,msdb..suspect_pages.file_id,msdb..suspect_pages.page_id
FROM msdb..suspect_pages
INNER JOIN sys.databases ON msdb.dbo.suspect_pages.database_id = sys.databases.database_id
ORDER BY sys.databases.database_id
--DELETE FROM msdb..suspect_pages
-- WHERE (event_type = 4 OR event_type = 5 OR event_type = 7);
--GO
Sửa lỗi Suspect Database: Gặp lỗi này bạn chỉ cần chạy đoạn script sau:
ALTER DATABASE [DBName] SET EMERGENCY;
GO
ALTER DATABASE [DBName] set single_user
GO
DBCC CHECKDB ([DBName], REPAIR_ALLOW_DATA_LOSS) WITH ALL_ERRORMSGS;
GO
ALTER DATABASE [DBName] set multi_user
GOTham khảo tại
https://www.stellarinfo.com/blog/fix-sql-database-recovery-pending-state-issue/Dò tìm page_id thuộc bảng nào
Trong đó 50 là database_id, 1 là file_id, 739301 là page_id
Tham khảo tại link: https://www.sqlskills.com/blogs/paul/finding-table-name-page-id/
B1: Copy lại database bị suspect của bạn ra 1 folder khác
B2: Tạo mới 1 database trùng tên với database bị suspect
B3: Chuyển database vừa tạo sang offline
B4: Copy database bị suspect của bạn đè lên database mới tạo
B5: Đưa database bị suspect trở lại online
B6: Sửa lỗi database bị suspect (như ở mục 1)
3. Detach suspect database: Để detach suspect database bạn thực hiện 3 bước
B1: Chuyển database sang offline
B2: Copy lại file database (file .mdf, .ldf)
B3: Xóa database này đi
4. Tạo suspect database
B1: Khởi tạo database và dữ liệu demo
B2: Thực hiện update không chuẩn
B3: Ở một cửa sổ khác, giả lập lỗi
B4: khởi động lại SQL server
B5: Xem trạng thái databse
-Tham khảo từ blog Sqlskills-
Last updated
Was this helpful?