Tran Huu Dang
8 min

Sao lưu và phục hồi CSDL

Nội dung:

  • Sao lưu và phục hồi cơ sở dữ liệu
  • Đặt lịch sao lưu tự động

1. Sao lưu CSDL

INFO

  • Khi làm việc với CSDL, đặc biệt là những tác vụ dễ xảy ra sự cố như:
    Thử nghiệm tính năng mới
    Sửa hoặc xóa dữ liệu quan trọng.
    => Bạn nên tạo một bản sao CSDL để phục hồi khi có sự cố

TIP

Các kiểu sao lưu CSDL

  • Full backup
    Sao lưu toàn bộ dữ liệu (kể cả các stored procedure, view, hàm người dùng định nghĩa, transaction log…).
    File tạo ra có phần mở rộng .bak
  • Differential backup
    Sao lưu các dữ liệu mới được cập nhật kể từ lần full backup trước đó
    File tạo ra có phần mở rộng .bak
  • Differential backup
    Sao lưu các bản ghi transaction log (các thao tác xảy ra trên CSDL, không sao lưu dữ liệu)
    File tạo ra có phần mở rộng .trn

Các bước sao lưu CSDLpic1pic1pic1

Các bước phục hồi CSDLpic1pic1pic1pic1

TIP

  • Càng thực hiện sao lưu nhiều càng giảm rủi ro khi có sự cố.

  • Với các CSDL quan trọng, thực hiện nhiều thay đổi trong ngày. Nên thực hiện nhiều lần sao lưu trong một ngày

  • Full Backup là phương pháp an toàn nhất, nhưng thực hiện

  • Full Backup nhiều sẽ tốn dung lượng bộ nhớ.

  • Nên:
    Thực hiện sao lưu Full Backup một lần vào lúc bắt đầu một ngày (chuẩn bị làm việc với CSDL)
    Thực hiện nhiều sao lưu Differential backup trong ngày (định kì khoảng một vài tiếng một lần)
    Thực hiện nhiều sao lưu Transaction log backup trong ngày

  • Khi có sự cố, tiến hành phục hồi như sau:
    Thực hiện sao lưu Full Backup một lần vào lúc bắt đầu một ngày (chuẩn bị làm việc với CSDL)
    Thực hiện nhiều sao lưu Differential backup trong ngày (định kì khoảng một vài tiếng một lần)
    Thực hiện nhiều sao lưu Transaction log backup trong ngày

2. Đặt lịch sao lưu tự động

INFO

  • Đặt lịch sao lưu tự động là:
    Tạo một kế hoạch cho SQL Server để SQL Server tự động thực hiện sao lưu CSDL tại một thời điểm được ấn định sẵn.
  • Để tạo lịch sao lưu tự động người dùng phải đăng nhập bằng Login ID có vai trò “sysadmin”

Các bước đặt lịch sao lưu tự động

  • Bước 1: Nhấn chuột phải vào Maintenance Plans. Chọn New Maintenance Plan pic1

  • Bước 2: Đặt tên cho Maintenance Plan pic1

  • Cấu hình pic1

  • Bước 3: Ấn định thời gian thực hiện sao lưu CSDL pic1

  • Bước 4: Thêm Back Up Database Task
    Back Up Database Task: thực hiện sao lưu CSDL theo thời gian đã ấn định pic1

  • Bước 5: Cấu hình Back Up Database Task
    => Nhấn đúp chuột vào Back Up Database Task pic1

-B6: Thêm Maintenance Cleanup Task vì sao lưu được thực hiện thường xuyên, dẫn đến đầy bộ nhớ server
=> Maintenance Cleanup Task: Xóa các bản sao, mà có thời gian sao lưu cũ hơn một khoảng thời gian cho trước. pic1

  • Bước 7: Cấu hình cho Maintenance Cleanup Task
    => Nhấn đúp chuột vào Maintenance Cleanup Task pic1

TIP

  • SQL Server chỉ thực hiện sao lưu tự động thành công khi SQL Server Agent đang chạy
  • Nếu SQL Server Agent bị tắt. Có thể khởi động lại trong
    SQL Server Management Studio
    SQL Server Configuration Management