Cách khôi phục Database bị xóa nhanh chóng và hiệu quả
Bạn vô tình xóa hoặc làm hỏng cơ sở dữ liệu quan trọng? Làm sao để có thể khôi phục cơ sở dữ liệu một cách nhanh chóng, hiệu quả. Trong bài viết dưới đây, Bizfly Cloud sẽ chia sẻ đến bạn cách khôi phục Database bị xóa trong trường hợp có hoặc không có backup.
Nguyên nhân nào khiến Database bị xóa gây mất dữ liệu?
Mất dữ liệu trong cơ sở dữ liệu (Database) có thể xảy ra do nhiều nguyên nhân khác nhau. Dưới đây là 5 nguyên nhân thường gặp nhất dẫn đến mất dữ liệu trong database:
● Lỗi phần cứng: Lỗi phần cứng là một trong những nguyên nhân phổ biến nhất dẫn đến mất dữ liệu. Lỗi phần cứng có thể do hỏng hóc của máy chủ hoặc ổ đĩa cứng, dẫn đến việc dữ liệu không còn khả năng truy cập được. Một số sự cố như mất điện đột ngột hoặc thiệt hại vật lý cũng có thể gây ra lỗi phần cứng.
● Lỗi phần mềm: Các lỗi phần mềm như sự cố của hệ điều hành hoặc phần mềm quản lý cơ sở dữ liệu, cũng có thể dẫn đến mất dữ liệu. Khi phần mềm gặp sự cố, dữ liệu có thể bị hỏng hoặc không thể truy cập được.
● Tấn công virus và tin tặc: Virus và các cuộc tấn công từ tin tặc có thể làm hỏng hoặc mã hóa dữ liệu để yêu cầu tiền chuộc. Đây là một nguyên nhân ngày càng phổ biến trong bối cảnh an ninh mạng hiện nay.
● Lỗi do người sử dụng: Nhiều trường hợp mất dữ liệu xảy ra do lỗi của người dùng, chẳng hạn như xóa nhầm hoặc định dạng ổ đĩa mà không sao lưu dữ liệu trước đó. Theo thống kê, lỗi người dùng chiếm khoảng 32% tổng số nguyên nhân gây mất dữ liệu.
● Sự cố trong quá trình vận hành: Một số vấn đề như quá tải hệ thống, hết tài nguyên, hoặc cấu hình không đúng cũng có thể dẫn đến việc cơ sở dữ liệu bị crash, làm mất mát dữ liệu.
Hướng dẫn cách khôi phục Database bị xóa có sử dụng backup
Có rất nhiều cách để sử khôi phục Database bị xóa có sử dụng backup, sau đây là 2 cách dễ và đơn giản nhất mà bạn có thể áp dụng ngay:
Cách 1: Sử dụng SQL Server Management Studio (SSMS)
● Bước 1: Mở SSMS và kết nối với máy chủ.
● Bước 2: Nhấp chuột phải vào Databases và chọn Restore Database.
● Bước 3: Trong phần Source, chọn Devices và nhấn nút ba chấm (...) để mở hộp thoại Select backup devices.
● Bước 4: Nhấn Add để chọn file sao lưu (thường có đuôi .bak) rồi nhấn OK.
● Bước 5: Chọn Database đích mà bạn muốn khôi phục.
● Bước 6: Trong tab Files, xác định tên và đường dẫn cho các file vật lý (mdf và ldf).
● Bước 7: Trong tab Options, bạn có thể chọn:
○ Overwrite existing database nếu cần ghi đè.
○ Close existing connections to destination database để đóng tất cả các kết nối trước khi khôi phục.
○ Để mặc định Recovery state là "RESTORE WITH RECOVERY".
● Bước 8: Nhấn OK để bắt đầu quá trình khôi phục
Cách 2: Sử dụng lệnh T-SQL
Bạn cũng có thể sử dụng lệnh T-SQL để khôi phục cơ sở dữ liệu:
RESTORE DATABASE [Tên_Cơ_Sở_Dữ_Liệu]
FROM DISK = 'Đường_dẫn_đến_file_sao_lưu.bak'
WITH REPLACE, RECOVERY;
Thay thế [Tên_Cơ_Sở_Dữ_Liệu] bằng tên cơ sở dữ liệu bạn muốn khôi phục và 'Đường_dẫn_đến_file_sao_lưu.bak' bằng đường dẫn đến file sao lưu của bạn
Cách khôi phục Database bị xóa khi không có backup
Nếu bạn đã xóa file ibdata trong MySQL và không có bản sao lưu, bạn vẫn có thể khôi phục dữ liệu nếu còn giữ lại các file .frm và .ibd. Dưới đây là hướng dẫn khôi phục Database bị xóa chi tiết:
● Tạo một cơ sở dữ liệu mới trong MySQL.
● Sử dụng file .sql cũ để import lại cấu trúc các bảng vào database mới.
● Khôi phục từng bảng:
○ Chạy lệnh sau để xóa tablespace của bảng cần khôi phục: ALTER TABLE
○ Sao chép file .ibd của bảng từ thư mục của cơ sở dữ liệu bị lỗi vào thư mục của database mới.
○ Chạy lệnh import lại tablespace:ALTER TABLE
● Lặp lại cho tất cả các bảng cần khôi phục
Ngoài ra, bạn có thể thử một số phương pháp như sau:
● Sử dụng Transaction Log: Nếu bạn có quyền truy cập vào transaction log, bạn có thể xem xét việc khôi phục từ đó. Tuy nhiên, điều này yêu cầu phải có một số kiến thức chuyên sâu về SQL Server.
● Phần mềm khôi phục bên thứ ba: Có nhiều phần mềm khôi phục dữ liệu chuyên dụng có thể giúp bạn lấy lại dữ liệu từ CSDL bị xóa. Những phần mềm này thường sử dụng các kỹ thuật phức tạp để quét và phục hồi dữ liệu.
● Khôi phục từ file hệ thống: Nếu CSDL đã được lưu trên ổ đĩa mà hệ điều hành tạo ra bản sao lưu tự động (như Shadow Copy), bạn có thể thử khôi phục từ đó.
Kết luận
Việc biết cách khôi phục Database bị xóa rất quan trọng để bảo vệ thông tin doanh nghiệp. Nếu gặp sự cố mất hoặc hỏng dữ liệu, hãy áp dụng các phương pháp các cách khôi phục Database bị xóa trên, để dữ liệu của bạn quay trở lại an toàn.