Truy xuất đồng thời Sao lưu và Phục hồi CSDL Chương 8 Nội dung 1 Backup (sao lưu) Full backup Differential backup Transaction Logs backup 2 Recovery Model (mô hình phục hồi) Full recovery mode[.]
Trang 1Sao lưu và Phục hồi CSDL
Chương 8
Trang 2Nội dung
1. Backup (sao lưu)
2. Recovery Model (mô hình phục hồi)
ký đối với thao tác import hàng loạt, không thểkhôi phục dữ liệu về 1 thời điểm nào đó trong quákhứ)
hồi dữ liệu theo bản backup sau cùng, không thểkhôi phục dữ liệu về 1 thời điểm nào đó trong quákhứ )
Trang 3Backup là công việc sao chép thông tin của cơ sở dữliệu tại một thời điểm nhất định vào một nơi lưu trữkhác
động
Khái niệm Backup
Trang 4Quá trình sao chép toàn bộ hay một phần thông tin củadatabase, transaction log, file hay file group hình thànhmột backup set.
disk) bằng cách sử dụng một backup device (tape drivename hay physical filename)
Trang 5Cú pháp:
<Thiết bị lưu trữ>: {DISK| TAPE} = ‘Tên thiết bị’
Lệnh Backup
BACKUP DATABASE TenCSDL
TO <Thiết bị lưu trữ> <Tham số> }]
Trang 6<Tham số>
từ thời điểm sao lưu
ngừng khi gặp lỗi và ngược lại
lưu
Lệnh Backup
Trang 7Dùng SSMS
Trang 8Loại Backup trong SQL Server
(Transaction log)
Trang 9Sao lưu tất cả dữ liệu trong CSDL và ghi lại tất cả vị trícủa tập tin trong CSDL
thời gian full backup trong transaction log
Sao lưu toàn phần (Full Backup)
Trang 10Toàn bộ database được ghi lại vào thời điểm saolưu (copy tất cả các data file trên database)
cần offline CSDL
Ưu điểm:
Nhược điểm:
khác
Trang 11Ví dụ:
BACKUP DATABASE QuanlyDuAn
TO DISK = ‘D:\SQLBackups\QuanlyDuAn.BAK’
WITH DESCRIPTION = ‘QuanlyDuAn FULL Backup’
Sao lưu toàn phần (Full Backup)
Trang 12Chỉ sao lưu những phần thay đổi của database (copy tất
cả thay đổi trong các data file) so với thời điểm màdatabase đã full backup gần nhất
Sao lưu những thay đổi (Differential Backup)
Trang 13Ví dụ:
BACKUP DATABASE QuanlyDuAn
TO DISK = ‘D:\SQLBackups\QuanlyDuAn.BAK’
WITH DIFFERENTIAL,
DESCRIPTION = ‘QuanlyDuAn Diff Backup’
Sao lưu những thay đổi (Differential Backup)
Trang 14Transaction log backup: ghi nhận 1 cách có thứ tự cáctransaction chứa trong transaction log file kể từ lầntransacsion log backup gần nhất, cho phép phục hồi dữliệu trở lại vào 1 thời điểm trong quá khứ
Sao lưu nhật ký giao tác (Transaction log backup)
Trang 15Ví dụ:
BACKUP LOG QuanlyDuAn
TO DISK = ‘D:\SQLBackups\QuanlyDuAn.TRN’
WITH DESCRIPTION = ‘QuanlyDuAn Log Backup’
Sao lưu nhật ký giao tác (Transaction log backup)
Trang 16Khác với transaction log backup, differential backup
không tạo lại CSDL chính xác tại thời điểm xảy ra sự cố
Giống với full database backup, differential backup chỉtạo lại CSDL tại thời điểm backup cuối cùng
Nhận xét
Trang 17Vì thế, differential backup thường được bổ sung bằngcách tạo transaction log sau mỗi differential backup.
và transaction log backup ta có thể giảm tối thiểu khảnăng mất dữ liệu và thời gian khôi phục dữ liệu
Trang 18Gồm 3 giai đoạn:
Data Copy: sao chép dữ liệu từ thiết bị sao lưu vào file
Redo: phục hồi những giao dịch đã chuyển giao(committed) từ log backup
Undo: quay lui những giao dịch chưa chuyển giao(uncommitted) từ log backup
Phục hồi CSDL - Restore Database
Trang 20Ví dụ: From Disk
RESTORE DATABASE QuanlyDuAn
FROM DISK = ‘E:\SQLBackUps\ QuanlyDuAn.BAK’
RESTORE DATABASE QuanlyDuAn
FROM DISK =‘\\AughtEight\SQLBackUps\ QuanlyDuAn.BAK’
Lệnh Restore Database
Trang 21Ví dụ: From Tape
RESTORE DATABASE QuanlyDuAnFROM TAPE = ‘\\.\tape1’
Lệnh Restore Database
Trang 22Recovery: Chấm dứt quá trình phục hồi
NoRecovery: Chưa chấm dứt, và cho phép tiếp các lệnh
phục hồi kế, và quá trình sẽ có trạng thái Recovery nếumọi lệnh phục hồi hoàn thành
STOP_ON_ERROR|CONTINUE_AFTER_ERROR: ngừng
khi gặp lỗi và ngược lại
FILE = { tên | số thứ tự }
Restore Database
Trang 23Ví dụ:
RESTORE DATABASE QuanlyDuAn
FROM DISK = ‘E:\SQLBackups\ QuanlyDuAn.BAK’WITH NORECOVERY
RESTORE LOG QuanlyDuAn
FROM DISK = ‘E:\SQLBackups\ QuanlyDuAn.BAK’WITH RECOVERY
Restore Database