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
• Transaction log 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
30 trang |
Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 670 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Các hệ quản trị cơ sở dữ liệu - Chương 6: Backup – Recovery - Đỗ Ngọc Như Loan, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
Chương 6
BACKUP – RECOVERY
K H O A C Ô N G NGHỆ T H Ô N G T I N
Giảng viên: Đỗ Ngọc Như Loan
Biên soạn: Nguyễn Thị Uyên Nhi
[HQTCSDL - Backup - Recovery] 1
3. Backup-recovery trong SQL Server 2008
[HQTCSDL - Backup - Recovery] 2
● Recovery
– Simple
– Full
– Bulk-logged
● Backup
– Full backup
– Transaction Log backup
– Differential backup
– File/ File Group backup
3.1 Backup
[HQTCSDL - Backup - Recovery] 3
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
• Transaction log 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
3.1.1 Full Backup
● Backup các tập tin dữ liệu và tập tin ghi sổ giao dịch
● Thực hiện full backup:
– CSDL nhỏ
– CSDL ít có các thay đổi
Chủ nhật Thứ hai Thứ ba
[HQTCSDL - Backup - Recovery] 4
3.1.1 Full Backup (tt.)
BACKUP DATABASE {database_name | @database_name_var}
TO [, ...n]
[WITH
[FORMAT]
[[,] {INIT | NOINIT}]]
]
[HQTCSDL - Backup - Recovery] 5
3.1.2 Transaction Log Backup
● Backup tập tin ghi sổ: các lệnh làm thay đổi dữ liệu
● Thực hiện Full backup đầu tiên, sau đó mới sử dụng các
transaction log backup:
– CSDL thường xuyên bị thay đổi
– Thời gian thực hiện Full backup quá lâu
Chủ nhật Thứ hai
[HQTCSDL - Backup - Recovery] 6
3.1.2 Transaction Log Backup (tt.)
BACKUP LOG {database_name | @database_name_var}
TO [, n]
[WITH
[{INIT | NOINIT}]
]
[HQTCSDL - Backup - Recovery] 7
3.1.3 Differential Backup
● Backup tất cả các dữ liệu đã thay đổi kể từ lần Full backup
gần nhất
● Sử dụng Differential backup nếu:
– Dữ liệu thường xuyên bị thay đổi
– Muốn rút ngắn thời gian của các lần backup
Thứ hai Thứ ba
[HQTCSDL - Backup - Recovery] 8
3.1.3 Differential Backup (tt.)
BACKUP DATABASE {database_name | @database_name_var}
TO [, ...n]
[WITH
[DIFFERENTIAL]
]
[HQTCSDL - Backup - Recovery] 9
3.1.3 Differential Backup (tt.)
BACKUP DATABASE {database_name | @database_name_var}
[ [, ...m]] TO [, n]]
:
{
FILE = {logical_file_name |@logical_file_name_var}
| FILEGROUP = {logical_filegroup_name |
@logical_filegroup_name_var}
}
[HQTCSDL - Backup - Recovery] 10
3.1 Backup
[HQTCSDL - Backup - Recovery] 11
3.1 Backup
[HQTCSDL - Backup - Recovery] 12
3.1 Backup
[HQTCSDL - Backup - Recovery] 13
3.2 Recovery
Mô hình Giải thích
Simple
Sử dụng được Full backup và Differential backup. Tập tin ghi sổ
sẽ bị “truncate” tự động nếu thiếu không gian lưu trữ
Full Sử dụng được tất cả các loại backup
Bulk-logged Tương tự Full nhưng chỉ ghi 1 số lệnh cập nhật (không ghi tất cả)
[HQTCSDL - Backup - Recovery] 14
3.2 Recovery - Phục hồi CSDL
[HQTCSDL - Backup -
Recovery]
15
Phục hồi CSDL
-Chọn radio
button để chọn
file CSDL trên
ổ đĩa
-Click vào đây
để chỉ định vị
trí chứa file
CSDL
[HQTCSDL - Backup -
Recovery]
16
Phục hồi CSDL
-Chọn phiên bản của bản sao
lưu CSDL, để khôi phục CSDL
ở đây
[HQTCSDL - Backup -
Recovery]
17
Phục hồi CSDL
-Chọn radio button này khi
thực hiện phục hồi CSDL
từ một bản sao full bakup
và nhiều bản sao
differential backup
[HQTCSDL - Backup -
Recovery]
18
Gợi ý khi sao lưu/phục hồi CSDL
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
[HQTCSDL - Backup -
Recovery]
19
Gợi ý khi sao lưu/phục hồi CSDL
Khi có sự cố, tiến hành phục hồi như sau:
Phục hồi CSDL sử dụng bản sao lưu Full Backup
Phục hồi CSDL sử dụng bản sao lưu Differential backup ở trước
và gần thời điểm xảy ra sự cố
Phục hồi CSDL sử dụng bản sao lưu Transaction log
backup ở trước và gần thời điểm xảy ra sự cố
[HQTCSDL - Backup -
Recovery]
20
Đặ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”
4. Đặt lịch sao lưu tự động
[HQTCSDL - Backup -
Recovery]
21
Nhấn chuột phải vào Maintenance Plans. Chọn New
Maintenance Plan
4. Đặt lịch sao lưu tự động
Đặt tên cho Maintenance Plan
4. Đặt lịch sao lưu tự động
Trang cấu hình lịch sao lưu tự động
4. Đặt lịch sao lưu tự động
Cấu hình thời gian thực hiện
sao lưu tự đọng
Các nhiệm vụ
Chú ý: backup database task
& maintenance cleanup
task
[HQTCSDL - Backup -
Recovery]
24
Ấn định thời gian thực hiện sao lưu CSDL
4. Đặt lịch sao lưu tự động
Nhấn chuột
vào đây
Đặt thời gian là giờ
mà CSDL ít được
dùng nhất
[HQTCSDL - Backup -
Recovery]
25
Thêm Back Up Database Task
Back Up Database Task: thực hiện sao lưu CSDL theo thời
gian đã ấn định
4. Đặt lịch sao lưu tự động
Kéo Back Up
Database Task sang
khung bên phải
[HQTCSDL - Backup -
Recovery]
26
Cấu hình Back Up Database Task
Trong bước 4: nhấn đúp chuột vào Back Up Database Task
4. Đặt lịch sao lưu tự động
-Chọn Backup Type là “Full”
-Chọn các CSDL muốn thực hiện
sao lưu trong mục Database(s)
-Chọn đường dẫn lưu bản sao
CSDL
-Nhập bak vào mục Backup
File extension
[HQTCSDL - Backup -
Recovery]
27
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.
4. Đặt lịch sao lưu tự động
Kéo Maintenance Cleanup Task
sang khung bên phahir
[HQTCSDL - Backup -
Recovery]
28
Cấu hình cho Maintenance Cleanup Task
Trong bước 6: Nhấn đúp chuột vào Maintenance Cleanup Task
4. Đặt lịch sao lưu tự động
- Chỉ định vị trí lưu File bản sao
CSDL và phần mở rộng của bản
sao.
-Chỉ định khoảng thời gian, mà các bản
sao được sao lưu trong khoảng thời
gian này sẽ được giữ lại.
-Ví dụ trong hình sẽ giữ lại các bản sao
được sao lưu trong vòng 4 tuần và xóa
các bản sao cũ hơn
[HQTCSDL - Backup -
Recovery]
29
Chú ý: 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
4. Đặt lịch sao lưu tự động
[HQTCSDL - Backup -
Recovery]
30
Các file đính kèm theo tài liệu này:
- bai_giang_cac_he_quan_tri_co_so_du_lieu_chuong_6_backup_reco.pdf