1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận hệ quản trị cơ sở dữ liệu Backup And Restore

44 1,2K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 248,2 KB

Nội dung

 Backup engine sẽ extract tất cả các vùng không gian của cơ sở dữ liệu và được phân bổ tới một đối tượng  Phương thức sao lưu luôn sẵn có bất kể hình thức khôi phục của bạn trong datab

Trang 1

SEMINAR

:

Backup

And Restore

Trang 2

Q u

n T

r C S

Trang 3

NỘI DUNG SEMINAR

 Cấu trúc Log và Data Files

 Sơ lược về nội dung Backup

 Một số phương pháp Backup

 Thực hiện Restore Database

Trang 4

Cấu trúc Log và Data Files

Trang 5

DATA FILES

 The primary data file : tự động phát sinh khi khởi tạo 1 database Chứa đối tượng

và dữ liệu người dùng Extension là *mdf.

 The secondary date file : do người dùng

định nghĩa, cũng chứa đối tượng và dữ liệu người dùng Extension là *ndf.

Trang 6

LOG FILES

Bất kỳ database nào cũng phải có 1 Log

File Log File chứa những thông tin được sử dụng để recover database.

Extension là *ldf.

Trang 7

Filegroup là cấu trúc logic được phát triền giúp cho tối ưu hệ thống cũng quản lý các database

A primary filegroup : những primary data files và secondary data files chưa được định nghĩa trong các file filegroup khác thì sẽ

được xếp ở primary filegroup Những table

Trang 9

Sơ lược về Backup

Trang 10

BACKUP A DATABASE

 Phục hồi dữ liệu bị mất

 Cung cấp nhiều kiểu backup khách nhau giúp cho người dùng linh hoạt trong quá trình backup and restore data

 Perform a full backup

 Perform a differential backup

 Perform a transaction log backup

 Perform a filegroup backup

 Initialize a media set by using the format option

 Append or overwrite an existing media set

 Create a backup divice

Trang 11

PERFORMING A FULL BACKUP

 Mục đích của việc tạo một full backup là giữ lại những dữ liệu

đã được lưu trữ trong database

 Backup engine sẽ extract tất cả các vùng không gian của cơ sở

dữ liệu và được phân bổ tới một đối tượng

 Phương thức sao lưu luôn sẵn có bất kể hình thức khôi phục của bạn trong database

Trang 12

PERFORMING A FULL BACKUP(TT)

 Backup engine cấu hình việc tạo một backup nhanh nhất

có thể mà việc sử dụng tài nguyên vẫn được tối ưu

 Khi bạn bắt đầu backup, backup engine sẽ tạo một trang các thiệt bị sao lưu mà không quan tâm tới thứ tự của trang

 Việc backup thì không tức thời và có thể diễn ra trong khi người dùng đã liên kết và thực hiện truy vấn

Trang 13

PERFORMING A FULL BACKUP(TT)

Steps during a full backup

 Lock the database, blocking all transactions

 Place a mark in the transaction log

 Release the database lock

 Backup all pages in the database

 Lock the database, blocking all transactions

 Place a mark in the transaction log

 Release the database lock

 Extract all transactions between the two log marks and append to the backup

 Lệnh căn bản để thực hiện backup

BACKUP DATABASE <databasename> TO DISK = ‘<directory>\

<filename>’ WITH INIT

Trang 14

PERFORMING DIFFERENTIAL BACKUP

 Differential backup lứu trữ tất cả vùng không gian đã được thay đổi của một full backup sau cùng

 Mục đích chính là giảm số lượng transaction backup cần để restore

 Việc sử dụng differential backup là song song với full backup

 Nếu full backup không tồn tại thì không thể tạo differential backup

 Differential backup không phải là incremental backup

 Incremental backup lưu trữ toàn bộ những thay đổi từ

incremental backup trước

Trang 15

PERFORMING DIFFERENTIAL BACKUP(TT)

 Nên việc khổi phục đòi hỏi phải yêu cầu tất cả các

incremental backup khác

 Differential backup là một lưu trữ từ full backup cuối cùng

 Để xác định những vùng không gian cần được sao lưu bởi differential backup thì SQL Server duy trì một extent map

 Một extent map chỉ là một trang dữ liệu trong database, với mỗi bit trên trang thể hiện một vùng không gian

 Khi SQL Server thay đổi một vùng không gian thì bit tượng trưng cho vùng không gian đó sẽ thay đổi từ 0 sang 1

 Khi tạo một full backup, SQL Server reset tất cả các bit thành 0

Trang 16

PERFORMING DIFFERENTIAL BACKUP(TT)

 Lúc này, SQL Server chỉ hỏi trang extent map để xác định các vùng không gian cần để backup

 Vì database có thể không giới hạn về kích thước nhưng data page chỉ có kích thước là 8KB

 Câu lệnh đơn giản để tạo một differential backup

BACKUP DATABASE <database name> TO DISK =

‘<directory>\<filename>’ WITH DIFFERENTIAL

Trang 17

TRANSACTION LOG BACKUPS

 Transaction log backup chỉ được sử dụng cho những database mà đã được cấu hình trong chế độ recovery Full hoặc Bulk-Logged và nó chưa có bất cứ logged transaction được thực thi

 Transaction log backup cũng chỉ cho phép tạo ra sau khi có một full backup

 Một transaction log backup chỉ bao gồm một tập con của dữ liệu và đòi hỏi bạn phải có ít nhất một full

backup để phục hồi database

Trang 18

TRANSACTION LOG BACKUPS(TT)

 Một log backup backs up the active log

 Nó bắt đầu tại Log Sequence Number khi

previous log backup hoàn thành

 SQL Server backs up toàn bộ những transaction tiếp theo cho đến khi việc backup gặp phải một transaction mở và lúc này Log Backup hoàn tất

Cú pháp:

Trang 19

Một số phương pháp Backup

Trang 20

FILEGROUP BACKUPS

Trang 21

Filegroup backup cung cấp một chiến lược backup thay thế full backup.

 Thay vì sao lưu toàn bộ database, filegroup backup sao lưu những nhóm file riêng biệt trong database

 Một chiến lược filegroup backup phải gồm có một bản sao lưu của tất cả các nhóm file trong database để có thể tập hợp lại tất cả các nhóm file trong database đó

Trang 22

Filegroup backup cho phép sao lưu những phần của một database, vì thế phải cấu hình database trong chế

độ phục hồi Full hoặc Bulk-Logged

 Để khôi phục lại database, có thể sử dụng filegroup

backup, differential backup, transaction log backup.

Trang 23

 Cấu trúc để thực hiện filegroup backup:

 Cấu trúc để thực hiện filegroup differential backup

BACKUP DATABASE <database name>

FILEGROUP = ‘<filegroup name>’

TO DISK = ‘<directory>\<filename>’

BACKUP DATABASE <database name>

FILEGROUP = ‘<filegroup name>’

TO DISK = ‘<directory>\<filename>’

WITH DIFFERENTIAL

Trang 24

MIRRORED BACKUPS

Trang 25

 SQL Server 2005 cho phép tạo những bản sao thay thế được gọi là mirror trong suốt hoạt động sao lưu.

 Để tạo ra các mirror, ta thêm vào mệnh đề sau vào sau câu lệnh BACKUP:

[[MIRROR TO <backup_device> [ , …n ]][

…next-mirror]]

 Có thể tạo đến 4 mirror Lưu ý Các thiết bị media lưu trữ mirror phải là cùng loại cũng như có cùng số thiết bị Mỗi thiết bị phải có những thuộc tính tương

tự nhau

 VD: Nếu như sao lưu vào disk thì tất cả mirror cũng phải được sao lưu trên disk

Trang 26

 Khi sử dụng mirrored backup, SQL Server sẽ đọc các trang từ những file data một lần và tạo những bản

copy phức tạp khi trang đó được ghi vào disk hoặc

Trang 27

Ví dụ về việc sao lưu database PUBS đến một tập thiết

bị media two-disk và tạo 3 mirror của bản sao lưu

Trang 28

PARTIAL BACKUPS

Trang 29

 Trong database có một vài nhóm file có thể ghi, nhưng cũng có vài nhóm file chỉ được đọc.

 Trong những phiên bản trước của SQL Server, full

backup sẽ sao lưu lại toàn bộ không gian lưu trữ được cấp phát trong database, ngay cả những nhóm file được đánh dấu là chỉ đọc Điều này có nghĩa không có sự

thay đổi trong dữ liệu

Trang 30

 SQL Server 2005 giới thiệu một tham số được thêm vào trong câu lệnh BACKUP để xử lý tình huống này.

 Tham số READ_WRITE_FILEGROUPS sẽ bỏ qua

bất cứ những nhóm file nào được đánh dấu chỉ đọc khi sao lưu dữ liệu

 Giúp tiết kiệm thời gian và không gian lưu trữ

Ví dụ:

Trang 31

Thực hiện restore database

Trang 32

Restore là quá trình khôi phục lại cơ sở dữ liệu sau

khi đã backup thành công

Có thể lên kế hoạch restore dựa vào tình trạng các file backup hiện có.Chúng ta có thể chia ra các loại restore sau đây:

• Restore a Full Backup

• Restore Differential Backup

• Restore Transaction Log Backup

Trang 33

RESTORE A FULL BACKUP

Hầu hết quá trình restore cho một cơ sở dữ liệu đều bắt đầu từ việc tạo lại csdl ở một điểm thời gian xác định và thực hiện thêm các thao các restore khác nhằm khôi phục lại tình trạng mong muốn của csdl

Bước restore đầu tiên chính là Restore Full Backup.

Trang 34

Như đã nói ở phần backup , 1 file Full Backup sẽ bao gồm toàn bộ nội dung của cơ sở dữ liệu

Restore full backup sẽ ghi đè lên csdl nếu đã tồn

tại csdl cùng tên, nếu không nó sẽ tự động tạo các

file và filegroup tương ứng trước khi restore

RESTORE A FULL BACKUP(TT)

Trang 36

DATABASE :

Chỉ định khôi phục đầy đủ của cơ sở dữ liệu từ bản sao lưu. Nếu một danh sách các tập tin và filegroups được quy định cụ thể, chỉ những tập tin và filegroups được phục hồi.

FROM:

Chỉ định các thiết bị sao lưu để khôi phục

lại bản sao lưu. Nếu mệnh đề FROM là khôngxác định, khôi phục

lại một bản sao lưu không xảy ra. Nếu mệnh đề FROM là bỏ

qua, NORECOVERY, RECOVERY, hoặc STANDBY phải được xác

Trang 37

Các incomplete transaction sẽ được roll back và database ở trạng

thái consistent nhưng ta không thể nào restore các transaction

log backup được nữa.

NORECOVERY

 Nghĩa là các transaction chưa hoàn tất (incomplete transaction)

sẽ không được roll back Như vậy database lúc này sẽ ở trong tình trạng inconsistent và không thể dùng được  

Nếu không NORECOVERY, RECOVERY, hoặcSTANDBY được chỉ định, RECOVERY là mặc định.

Trang 38

  STANDBY : (sự kết hợp giữa RECOVERY và NORECOVERY)

Với option này ta sẽ có luôn đặc tính của hai option trên : các

incomplete transaction sẽ được roll back để đảm bảo database

consistent và có thể sử dụng được nhưng chỉ dưới dạng Read-only

mà thôi, đồng thời sau đó ta có thể tiếp tục restore các file backup còn lại Người ta dùng option này khi muốn restore database trở lại một thời điểm nào đó (a point in time) nhưng không rõ là đó có phải

là thời điểm mà họ muốn không, cho nên họ sẽ restore từng backup file ở dạng Standby và kiểm chứng một số data xem đó có phải là thời điểm mà họ muốn restore hay không (chẳng hạn như trước khi

bị delete hay trước khi một transaction nào đó được thực thi) trước khi chuyển sang Recovery option.

Trang 39

DIFFERENTIAL RESTORE

Để thực hiện restore từ differential backup trước tiên bạn phải thực hiện restore từ full backup và đảm bảo tình trạng csdl không ở trạng thái Recovered Sau đó tất cả differential backup gần nhất sẽ được cập nhật vào database.

VD:

RESTORE DATABASE PUBS FROM DISK =‘C:\DEMO\BACKUP\

PUBSFULL.BAK’ WITH NORECOVERY

RESTORE DATABASE PUBS FROM DISK =‘C:\DEMO\BACKUP\

PUBSDIFF.BAK’ WITH RECOVERY

o Dòng đầu tiên store full backup , nhưng vẫn giữ tình trạng database là Unrecovered.

o Dòng thứ hai cập nhật differential backup và recovered database.

Trang 40

Sơ đồ quá trình restore database

Trang 41

Restore Transaction Log Backup

• RESTORE TRANSACTION LOG BACKUP được sử dụng để đưa trạng thái database đến một điểm thời gian xác định, thường là lần thao tác cuối cùng lên database, nhưng bạn vẫn có quyền lựa chọn thời

điểm khác nếu muốn

• Thường thì TRANSACTION LOG sẽ được cập nhật sau khi restore full backup và differential backup đã được thực hiện

Trang 42

Restore sequence using a full, differential and transaction log backup

Full

RESTORE DATABASE AdvantureWords FILEGROUP

=‘FG1’ FROM DISK =‘C:\TEST\FULL.BAK’ WITH

NORECOVERY

Differential

RESTORE DATABASE AdvantureWords FROM DISK

=‘C:\TEST\DIFF.BAK’ WITH NORECOVERY

Transaction Log

RESTORE LOG AdvantureWords FROM DISK =‘C:\

TEST\LOGFILE.TRN’ WITH RECOVERY

Trang 43

Tóm lại để tiến hành restore một cách hiệu quả

chúng ta nên nắm rõ kế hoạch backup để có thể lựu chọn các hình thức backup phù hợp nhằm đưa

database về trạng thái mong muốn

Trang 44

CÁM ƠN CÔ VÀ CÁC BẠN ĐÃ

LẮNG NGHE!

Kết Thúc

Ngày đăng: 05/04/2015, 23:11

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w