NỘI DUNG• Các lỗi thường xảy ra• Lập kế hoạch backupMICROSOFT SQL SERVERFACULTY OF INFORMATION TECHNOLOGYFULL BACKUPS• Mục đích: sao chép tất cả dữ liệu được lưu trữ trongDBBACKUP DATABASE TO DISK = ‘’WITH INITMICROSOFT SQL SERVERFACULTY OF INFORMATION TECHNOLOGYDifferential BackupsBACKUP DATABASE TO DISK = ‘’WITH DIFFERENTIALMICROSOFT SQL SERVERFACULTY OF INFORMATION TECHNOLOGYDISASTER RECOVERY LÀ GÌ? Khi có một hay nhiều tập tin không trùng khớp dữ liệu hoặc khôngmở được file chính(primary file) của CSDL SQL Server instancesẽ shutdown cần có cơ chế phục hồi dữ liệu trong trường hợpkhông mong muốn Disaster Recovery Một số lỗi thường xảy ra trong SQL Server Error Log là: An example error message Log file F:MSSQLSERVERMSSQLMYINSTDatadb1_log.LDF does notmatch the primary file. It may be from a different database or the log mayhave been rebuilt previously. Error: 5173 , Severity: 16, State: 1. One or more files do not match the primary file of the database. If you areattempting to attach a database, retry the operation with the correctfiles. If this is an existing database, the file may be corrupted and shouldbe restored from a backup.
Trang 1BACKUP & RECOVERY
(Sao lưu và phục hồi)
GV: Nguyễn Thị Cẩm Hương
Trang 2NỘI DUNG
• Các lỗi thường xảy ra
• Lập kế hoạch backup
Trang 3FULL BACKUPS
• Mục đích: sao chép tất cả dữ liệu được lưu trữ trong
DB
BACKUP DATABASE <database name>
TO DISK = ‘<directory>\<filename>’
WITH INIT
Trang 4Differential Backups
BACKUP DATABASE <database name>
TO DISK = ‘<directory>\<filename>’
WITH DIFFERENTIAL
Trang 5DISASTER RECOVERY LÀ GÌ?
- Khi có một hay nhiều tập tin không trùng khớp dữ liệu hoặc không
mở được file chính(primary file) của CSDL SQL Server instance
sẽ shutdown cần có cơ chế phục hồi dữ liệu trong trường hợp
không mong muốn Disaster Recovery
- Một số lỗi thường xảy ra trong SQL Server Error Log là:
- An example error message
- Log file 'F:\MSSQLSERVER\MSSQL$MYINST\Data\db1_log.LDF' does not
match the primary file It may be from a different database or the log may have been rebuilt previously.
- Error: 5173 , Severity: 16, State: 1.
- One or more files do not match the primary file of the database If you are attempting to attach a database, retry the operation with the correct
files If this is an existing database, the file may be corrupted and should
be restored from a backup.
Trang 6CHỌN CHẾ ĐỘ KHÔI PHỤC
• Yêu cầu và mục đích của việc khôi phục
• Chế độ khôi phục:
• Simple Recovery Model
• Full Recovery Model
• Bulk-logged Recovery Model
• SELECT recovery_model_desc FROM SYS.databases
WHERE name='AUXDB'
• ALTER DATABASE AUXDB SET RECOVERY FULL ALTER
DATABASE AUXDB SET RECOVERY SIMPLE ALTER DATABASE AUXDB SET RECOVERY BULK_LOGGED
Trang 7YÊU CẦU VÀ MỤC ĐÍCH CỦA VIỆC KHÔI PHỤC
• Yêu cầu khôi phục
• Dữ liệu này có tầm quan trọng thế nào nếu nó mất đi?
• Có dễ dàng tạo lại dữ liệu bị mất này?
• Bạn có nhiều hơn mộ CSDL mà có quan hệ luận lý với nhau?
• Xem xét yếu tố con người
• Tổ chức của bạn có người quản lý dữ liệu hay sử dụng hệ thống không?
• Nếu không, ai sẽ thực hiện thao tác sao lưu (Backup) và phục hồi (recovery) dữ liệu?
Trang 8YÊU CẦU VÀ MỤC ĐÍCH CỦA VIỆC KHÔI PHỤC (tt)
• Trình tự thao tác dữ liệu như thế nào khi CSDL thay
đổi?
• Những bảng nào được truy cập thường xuyên
• Sản phẩm dữ liệu nào được định thời trong khoảng
thời gian nhất định? Nếu có, sản phẩm này ứng dụng
mẫu nào, cách thức insert, update là gì?
• Dữ liệu lớn, chỉ backup log file
• Xem CSDL có lỗi khi thực hiện update thì dùng full
recovery model
Trang 9CHẾ ĐỘ PHỤC HỒI ĐƠN GIẢN
(Simple Recovery Model)
• Không quan tâm đến log file được backup hay chưa?
• Không cho phép khôi phục dữ liệu đến 1 thời điểm
nhất định
• Chỉ khôi phục dữ liệu từ bản full backup (hoặc
differential backup) gần nhất
• Không thích hợp với các hệ thống OLTP
• Dùng cho môi trường development, cho các DB phục
vụ báo cáo, các ứng dụng DW/BI
Trang 10CHẾ ĐỘ PHỤC HỒI ĐƠN GIẢN
(Simple Recovery Model)
• Dùng chế độ này khi
- Thời điểm khôi phục lỗi là không cần thiết
- Bạn chấp nhận rủi ro trong việc mất một vài dữ liệu
trong file log.
- Bạn không muốn sao lưu và phục hồi file log vì tin
tưởng vào bản full backup hơn.
Trang 11FULL RECOVERY MODEL
• Sử dụng full recovery model khi:
- Bạn phải khôi phục lại toàn bộ dữ liệu
- Nếu CSDL chứa nhiều file group, bạn muốn khôi phục cho thao tác read/write trên file group thứ hai và thao tác read cho các
file group còn lại
- Bạn phải khôi phục tất cả dữ liệu từ thời điểm xảy ra lỗi
- Bạn muốn khôi phục các trang dữ liệu riêng lẻ
- Bạn sẵn sàng chấp nhận chi phí cho việc quản trị các log file
• Cơ chế:
• Lưu các transaction tuần tự trong log file và lưu trữ đến khi
log file được backup
• Khi log backup được thực hiện, các transaction xảy ra kể từ
lần log backup trước được ghi ra backup file và loại bỏ khỏi log file
Trang 12BULK-LOGGED RECOVERY MODEL
• Hoạt động:
• Giống chế độ FULL
• Nhưng: chỉ log các thao tác bulk (liên quan đến nhiều bản gi) như BCP, BULK INSERT/SELECT/INTO
• Backup định kỳ, nếu không kích thước log file sẽ tăng
• Không có khả năng khôi phục với một thời điểm nhất định như chế độ FULL
• Sử dụng khi:
• Dành riêng trong trường hợp full recovery model
• Chỉ sử dụng trong khoảng thời gian mà bạn muốn thực thi một gói lớn các thao tác mà không yêu cầu xác định thời điểm chính xác khôi phục CSDL