cÁc hỆ quẢn trỊ cƠ sỞ dỮ liỆu chương 6 backup … · 2020. 12. 3. · khung bên...

30
CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Chương 6 BACKUP RECOVERY KHOA CÔNG NGHỆ THÔNG TIN Giảng viên: Đỗ Ngọc Như Loan Biên soạn: Nguyễn Thị Uyên Nhi [HQTCSDL - Backup - Recovery] 1

Upload: others

Post on 30-Jan-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

  • 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 CSDLtừ 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ự độngthực hiện sao lưu CSDL tại một thời điểm được ấn địnhsẵn.

    Để tạo lịch sao lưu tự động người dùng phải đăngnhậ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 NewMaintenance 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ộtvà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 UpDatabase 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ệnsao lưu trong mục Database(s)

    -Chọn đường dẫn lưu bản saoCSDL-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ựchiệ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 giansao 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ảnsao.

    -Chỉ định khoảng thời gian, mà các bảnsao được sao lưu trong khoảng thờigian 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óacá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 SQLServer 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