Sao lƣu cơ sở dữ liệu

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 2 (Trang 54 - 57)

CHƢƠNG 7 SAO LƢU, KHÔI PHỤC DỰ PHÒNG, KIỂM TOÁN VÀ GIÁM SÁT HOẠT ĐỘNG CƠ SỞ DỮ LIỆU

7.1.2. Sao lƣu cơ sở dữ liệu

7.1.2.1. Các dạng sao lưu

Hình 7.2 biểu diễn các dạng sao lƣu cơ sở dữ liệu. Theo đối tƣợng sao lƣu, có 3 dạng sao lƣu: sao lƣu cơ sở dữ liệu (Database backup), sao lƣu log giao dịch (Transaction log backup) và sao lƣu các file (File backup). Theo mức độ sao lƣu, có 2 dạng: sao lƣu toàn bộ (Full backup) và sao lƣu phần thay đổi (Incremental/Differential backup). Sao lƣu toàn bộ thực hiện sao lƣu toàn bộ dữ liệu tại thời điểm cơ sở dữ liệu đang hoạt động. Dạng sao lƣu này thƣờng đƣợc sử dụng ở lần sao lƣu đầu tiên. Nhƣợc điểm của sao lƣu toàn bộ là tốn nhiều thời gian và dung lƣợng đĩa, đặc biệt là với các cơ sở dữ liệu có kích thƣớc lớn.

Ngƣợc lại với sao lƣu toàn bộ, sao lƣu phần thay đổi chỉ sao lƣu phần thay đổi trong cơ sở dữ liệu kể từ lần sao lƣu gần nhất, nhƣ minh họa trên Hình 7.3. Dạng sao lƣu này có ƣu điểm là thời gian sao lƣu ngắn và lƣợng chiếm đĩa cũng ít hơn do dữ liệu sao lƣu mỗi lần là tƣơng đối nhỏ so với kích thƣớc toàn bộ cơ sở dữ liệu. Nhƣợc điểm của dạng sao lƣu này là thời gian khôi phục có thể dài hơn do một dòng có thể đƣợc cập nhật nhiều lần cho đến bản cập nhật mới nhất.

147

Hình 7.3.Sao lưu dạng Differential 7.1.2.2. Các mô hình khôi phục

Mô hình khôi phục (Recovery) là một thuộc tính của cơ sở dữ liệu điều khiển phƣơng pháp ghi log giao dịch, có hay không yêu cầu sao lƣu log giao dịch và các kiểu khôi phục cơ sở dữ liệu hỗ trợ. Microsoft SQL Server hỗ trợ 3 mô hình khôi phục: Simple (Mô hình khôi phục đơn giản), Full (Mô hình khôi phục đầy đủ) và Bulk_log (Mô hình khôi phục log theo khối). Mô hình khôi phục đơn giản chỉ cho phép một số thao tác có thể tạo log tối thiểu. Do vậy, nó không hỗ hợ sao lƣu log và cũng không hỗ trợ khôi phục theo trang và theo thời điểm. Mô hình này hỗ trợ khôi phục file, nhƣng chỉ giới hạn với các file dữ liệu thứ cấp theo chế độ chỉ đọc.

Ngƣợc lại với mô hình khôi phục đơn giản, mô hình khôi phục đầy đủ yêu cầu tất cả các thao tác đƣợc ghi log đầy đủ, có hỗ trợ sao lƣu log và hỗ trợ khôi phục tất cả các thao tác, bao gồm cả khôi phục theo thời điểm, theo trang và khôi phục theo file. Mô hình khôi phục log theo khối hoạt động tƣơng tự nhƣ mô hình khôi phục đầy đủ, trừ khi một số thao tác theo mẻ đƣợc ghi log tối thiểu. Mô hình này hỗ trợ khôi phục các thao tác tƣơng tự mô hình khôi phục đầy đủ. Tuy nhiên, mô hình khôi phục log theo khối không hỗ trợ khôi phục theo thời điểm khi các thao tác đƣợc ghi log tối thiểu.

7.1.2.3. Thực hiện sao lưu

Hầu hết các hệ quản trị cơ sở dữ liệu hỗ trợ sao lƣu thông qua các giao diện quản trị, hoặc dòng lệnh. Hình 7.4 là giao diện sao lƣu cơ sở dữ liệu thông qua giao diện quản trị của Microsoft SQL Server. Hình 7.5 là giao diện tạo một kế hoạch bảo trì cho tự động định kỳ sao lƣu cơ sở dữ liệu và "dọn dẹp" các file sao lƣu theo yêu cầu của ngƣời quản trị trong Microsoft SQL Server.

Cũng có thể sử dụng các lệnh của hệ quản trị cơ sở dữ liệu để thực hiện sao lƣu. Chẳng hạn, trong Microsoft SQL Server, lệnh sau lƣu có cú pháp nhƣ sau:

BACKUP DATABASE { database_name | @database_name_var } TO <backup_device> [ WITH { DIFFERENTIAL | <general_WITH_options>

trong đó:

<backup_device>::= { { logical_device_name | @logical_device_name_var } | { DISK | TAPE | URL} = { 'physical_device_name' | @physical_device_name_var } }

148 Ví dụ lệnh BACKUP DATABASE test_db to DISK = 'D:\backups\test_db.bak' thực Ví dụ lệnh BACKUP DATABASE test_db to DISK = 'D:\backups\test_db.bak' thực hiện sao lƣu cơ sở dữ liệu có tên "test_db" ra file trên đĩa "D:\backups\test_db.bak".

Hình 7.4.Sao lưu cơ sở dữ liệu thông qua giao diện quản trị của SQL Server

Hình 7.5.Giao diện tạo kế hoạch bảo trì cho sao lưu dữ liệu của SQL Server

7.1.2.4. Sao lưu log giao dịch và sao lưu file

File log giao dịch (transaction log) lƣu một dãy các bản ghi log, lƣu trữ các bản ghi quá khứ và các thay đổi đã đƣợc thực hiện trên cơ sở dữ liệu. Log giao dịch cũng cần đƣợc sao lƣu định kỳ, kèm theo việc sao lƣu cơ sở dữ liệu do đây là việc cần thiết để hỗ trợ khả năng khôi phục theo thời điểm và khống chế kích thƣớc của file log. Phụ thuộc vào kiểu ghi log lựa chọn trong kiểu sao lƣu (Simple, Full, hoặc Bulk_Log), khả năng khôi phục cơ sở dữ liệu là khác nhau.

Một phần của tài liệu Bài giảng An toàn ứng dụng web và cơ sở dữ liệu: Phần 2 (Trang 54 - 57)

Tải bản đầy đủ (PDF)

(67 trang)