Sao lưu và phục hồi dữ liệu trong sql server khám phá những cách hiệu quả nhất

Mục lục bài viết

    SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ được nghiên cứu và phát triển bởi Microsoft. Phần mềm này có chức năng chính là lưu trữ và truy xuất dữ liệu theo yêu cầu của những ứng dụng phần mềm khác. Hãy cùng Võ Nguyễn theo dõi bài viết sau đây để khám phá thông tin về sao lưu và phục hồi dữ liệu trong sql server hiệu quả nhất hiện nay nhé!

    Tìm hiểu tổng quan về sao lưu và phục hồi dữ liệu trong sql server

    Sao lưu và phục hồi dữ liệu trong sql server là một trong những thao tác quan trọng mà mỗi người quản trị cơ sở dữ liệu đều cần phải thực hiện.

    Thao tác sao lưu (Backup database) sẽ được thực hiện thường xuyên nhằm mục đích để lưu dữ liệu. Bên cạnh đó, thao tác phục hồi dữ liệu (Restore database) sẽ chỉ được thực hiện khi nào máy chủ gặp sự cố như hư hỏng ổ cứng hoặc mất dữ liệu do người dùng vô tình hoặc cố ý xóa đi,…

    Ngoài ra thao tác phục hồi dữ liệu trong sql server cũng được thực hiện để sao chép những dữ liệu cần thiết từ máy chủ này sang máy chủ khác.

    Tìm hiểu tổng quan về sao lưu và phục hồi dữ liệu trong sql server

    Khi nào người dùng cần tiến hành sao lưu và phục hồi dữ liệu trong sql server

    Có rất nhiều lý do mà người Quản trị cơ sở dữ liệu phải đảm bảo để dữ liệu của hệ thống luôn được chính xác, không bị sai lệch. Ngoài ra cũng cần phải giảm tối đa số lần tiến hành phục hồi dữ liệu, luôn theo dõi cũng như kiểm tra thường xuyên để phát hiện sớm những trục trặc có thể xảy ra. Phải đưa ra các phương án dự phòng các biến cố và đảm bảo sẽ nhanh chóng phục hồi dữ liệu trong thời gian sớm nhất có thể.

    Một số dạng biến cố hay tai họa phổ biến có thể xảy ra với dữ liệu của bạn là:

    •  Ổ đĩa chứa file dữ liệu hoặc file Transaction Log hay file hệ thống không may bị thất lạc hay biến mất
    • Server của bạn gặp tình trạng bị hư hỏng
    • Do những thảm họa tự nhiên như thiên tai, bão lụt, động đất, hỏa hoạn…
    • Toàn bộ server đã bị đánh cắp hoặc bị phá hủy hoàn toàn.
    • Các thiết bị dùng để backup – restore đã bị đánh cắp hay gặp trục trặc, hư hỏng
    • Những lỗi do người dùng vô ý như lỡ tay xoá mất dữ liệu
    • Bị người xấu hack (nếu server có kết nối với internet).

    Khi các vấn đề trên xảy ra thì người dùng sẽ phải làm gì để khắc phục. Ngoài ra, bạn cũng phải luôn có biện pháp đề phòng cụ thể cho từng trường hợp nhất định. Người dùng cũng cần phải xác định thời gian tối thiểu cần để phục hồi dữ liệu và đưa server trở lại hoạt động một cách bình thường.

    Khi nào người dùng cần tiến hành sao lưu và phục hồi dữ liệu trong sql server

    Một số dạng sao lưu và phục hồi dữ liệu trong sql server

    Ðể có thể hiểu và thực hiện các kiểu phục hồi dữ liệu khác nhau, người dùng phải biết qua các loại sao lưu dữ liệu trong SQL Server:

    • Full Database Backups : Đây là loại sẽ copy tất cả các file dữ liệu trong một database. Tất cả những user data cùng database objects cụ thể như system tables, indexes, user-defined tables đều sẽ được backup nhanh chóng.
    • Differential Database Backups : Loại này sẽ chỉ copy những thay đổi trong tất cả các file dữ liệu kể từ lần được tiến hành backup gần đây nhất.
    • File or Filegroup Backups : Loại này sẽ copy một data file đơn hay một nhóm file nhất định.
    • Differential File or Filegroup Backups : Tương tự như differential database backup, tuy nhiên loại này chỉ copy những thay đổi trong data file đơn hay một filegroup nhất định.
    • Transaction Log Backups : Ở loại này sẽ ghi nhận một cách thứ tự tất cả các giao dịch (transaction) chứa trong file transaction log kể từ lần transaction log backup gần đây nhất. Ở loại Transaction Log Backups này cho phép người dùng phục hồi dữ liệu trở ngược lại vào một thời điểm nào đó trong quá khứ, tuy nhiên vẫn đảm bảo được tính đồng nhất dữ liệu (consistent).

    Một số dạng sao lưu và phục hồi dữ liệu trong sql server

    Những chế độ khôi phục cụ thể trong sao lưu và phục hồi dữ liệu trong sql server

    • Chế độ Full Recovery: chế độ này cho phép người dùng có thể phục hồi dữ liệu với ít rủi ro nhất. Nếu một database ở trong chế độ này thì tất cả các hoạt động không chỉ riêng là insert, update, delete mà kể cả insert bằng Bulk Insert, hay bcp sẽ đều được log vào file transaction log. Khi nào gặp sự cố thì người dùng có thể tiến hành phục hồi lại dữ liệu ngược trở lại tới một thời điểm trong quá khứ. Khi file dữ liệu bị hỏng nếu ta có thể sao lưu được file transaction log thì có thể phục hồi cơ sở dữ liệu đến thời điểm transaction gần đây nhất mà đã được xác nhận (committed).
    • Chế độ Bulk-Logged Recovery: Ở chế độ sao lưu và phục hồi dữ liệu trong sql server này, các hoạt động đều sẽ mang tính hàng loạt. Bulk Insert, bcp, Create Index, WriteText, UpdateText chỉ được log minimum vào File Transaction Log, cho biết là các hoạt động này có diễn ra mà sẽ không log toàn bộ cụ thể. Những hoạt động khác như Insert, Update, Delete vẫn sẽ được log đầy đủ để dùng vào công việc phục hồi sau này.
    • Chế độ Simple Recovery: Ở chế độ này, File Transaction Log sẽ được tiến hành cắt xén thường xuyên và không cần sao lưu. Với chế độ Simple Recovery, bạn chỉ có thể phục hồi tới thời điểm backup gần đây nhất mà không thể tiến hành phục hồi tới một thời điểm trong quá khứ.

    Nếu bạn muốn biết cơ sở dữ liệu của mình đang ở mode nào, hãy Right-click lên một database nào đó trong SQL Server Management Studio rồi sau đó chọn Properties->Options->Recovery model.

    Những chế độ khôi phục cụ thể trong sao lưu và phục hồi dữ liệu trong sql server

    Trên đây là một số thông tin về sao lưu và phục hồi dữ liệu trong sql server mà người dùng có thể quan tâm tìm hiểu. Hy vọng những chia sẻ trên hữu ích cho các bạn trong việc phục hồi dữ liệu đã mất!