Bài giảng Các hệ quản trị cơ sở dữ liệu - Chương 6: Backup – Recovery - Đỗ Ngọc Như Loan

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

pdf30 trang | Chia sẻ: Thục Anh | Ngày: 12/05/2022 | Lượt xem: 465 | Lượt tải: 0download
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:

  • pdfbai_giang_cac_he_quan_tri_co_so_du_lieu_chuong_6_backup_reco.pdf