Seminar :
Backup
And
Restore
H
Q
u
n
T
r
C
ệ
ả
ị
ơ
S
D
L
i
u
ở
ữ
ệ
Gi ng Viên ả : Th.S Thái B o Trânả
HTTT04 :
Võ Minh Thiện 09520665
Nguyễn Trần Tuấn Phong 09520604
Trần Anh Tuấn 09520710
Đinh Đức Thành 09520646
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ự ệ
C u trúc Log và Data Filesấ
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.ệ ườ
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.
Filegroups
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 h th ng cũng ữ ệ ố
đ c x p đây.ượ ế ở
User-defined filegroup : do ng i dùng đ nh ườ ị
nghĩa đ xép nh ng secondary files c n thi t ể ữ ầ ế
vào chung 1 nhóm. T i đa 32766 .ố
Raid Systems
Các lo i Raid Systems :ạ
Raid 0
Raid 1
Raid 5
Raid 10 (Raid 1+0)
S l c v Backupơ ượ ề
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
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
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.
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
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
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
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
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ể ụ ồ
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:
M t s ph ng phá p Backupộ ố ươ
FILEGROUP BACKUPS
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 đó.ể ậ ợ ạ ấ ả
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.
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
MIRRORED BACKUPS
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.ượ ư