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ƣulog 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 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
149
Sao lƣu file là dạng sao lƣu cho phép sao lƣu một file, hoặc một nhóm các file dữ liệu cụ thể. Ƣu điểm của dạng sao lƣu file là giảm thời gian sao lƣu, trong trƣờng hợp không phải sao lƣu toàn bộcơ sở dữ liệu. Tƣơng tựnhƣ sao lƣu cơ sở dữ liệu, các kiểu sao lƣu file thƣờng đƣợc hộ trợ gồm: Full (sao lƣu toàn bộ), Partial (sao lƣu một phần) và Differential (chỉ sao lƣu thay đổi so với lần sao lƣu trƣớc đó). Kiểu sao lƣu Differential
có thể áp dụng với cả hai kiểu Full và Partial.