-Sự cố
vLỗi phần cứng (server hư, ổ cứng hư…)
vLỗi do người dùng (cố ;nh hoặc vơ ;nh
xóa bảng, CSDL…)
vThiên tai, hỏa hoạn...
vHackers
Giải
vViruses
quyết???
v…
Chương V : An ninh và An toàn Dữ liệu
1
Khái niệm
vSao lưu (backup): Tạo ra một bản sao
của tình trạng cơ sở dữ liệu
(database) hiện tại
§ Dự phịng cho trường hợp xảy ra sự cố (lỗi phần cứng, phần mềm, hoặc lỗi
của người khai thác)
§ Có thể lập lịch thực hiện chức năng backup
Chương V : An ninh và An toàn Dữ liệu
2
Các kiểu backup
vFull Database Backup
vDifferenTal Database Backup
vTransacTon Log Backup
v…
Chương V : An ninh và An toàn Dữ liệu
3
Full Database Backup
DB.mdf
DB.ndf
Backup media
Full database
backup
Full.Bak
DB.ldf
Chương V : An ninh và An toàn Dữ liệu
4
Full Database Backup
Chương V : An ninh và An toàn Dữ liệu
5
Full database backup
v Backup toàn bộ CSDL tại thời điểm
backup.
v Ưu điểm
§ Đơn giản
§ Phù hợp cho mọi mơ hình recovery
v Khuyết điểm
§ Loại backup có kích thước lớn nhất.
Chương V : An ninh và An toàn Dữ liệu
6
Differen;al database backup
DB.mdf
DB.ndf
DB.ldf
DB.mdf
Full database
backup
Thay đổi
Full.Bak
dữ liệu
DB.ndf
DB.ndf
DB.ldf
Differential base
Backup media
Diff.Bak
Differential database
backup
Chương V : An ninh và An toàn Dữ liệu
DB.ndf
7
Differen;al database backup
Full DB Backup
(Differential Base)
Database
Differential 1
A
Differential 2
B
Time
Differential 1 =
A
Differential 2 =
A
B
Chương V : An ninh và An toàn Dữ liệu
8
Differen;al database backup
Chương V : An ninh và An toàn Dữ liệu
9
Differen;al database backup
v Chỉ backup các trang dữ liệu mới
được cập nhật kể từ lần full
backup trước đó.
v Ưu điểm
§ Chỉ backup phần dữ liệu thay đổi
vKhuyết điểm
§ Tồng kích thước của các dif có thể lớn hơn full backup.
Chương V : An ninh và An toàn Dữ liệu
10
Transac;on Log backup
DB1.ldf
DB2.ldf
Transaction log
backup
Backup media
Tran.bak
DB3.ldf
Chương V : An ninh và An toàn Dữ liệu
11
Transac;on Log backup
Chương V : An ninh và An toàn Dữ liệu
12
Transac;on Log backup
vBackup các log record hiện có trong
log file, không sao lưu dữ liệu. Đồng
thời loại bỏ các log record vừa được
backup ra khỏi log file.
vƯu điểm
§ Tối thiểu khối lượng dữ liệu bị mất
§ Giảm kích thước log file
§ Tiếc kiệm tài ngun
vKhuyết điểm
§ Kích thước file bak có thể rất lớn nếu lịch thao tác xảy ra thường
xuyên.
Chương V : An ninh và An toàn Dữ liệu
13
Backup device
vTạo backup device
§ Đặt một tên logic cho đường dẫn và tên tập tin vật lý sẽ dùng để lưu trữ dữ
liệu backup
§ Thực hiện trước khi thực hiện lệnh backup, có thể bỏ qua (sử dụng trực tiếp
tên và đường dẫn vật lý)
§ Cú pháp:
sp_addumpdevice [ @devtype = ] 'device_type' ,
[ @logicalname = ] 'logical_name' ,
[ @physicalname = ] 'physical_name'
( Device_type = disk|tape )
Chương V : An ninh và An toàn Dữ liệu
17
Backup
vTạo backup device
§ Ví dụ:
exec sp_addumpdevice ‘disk’, ‘QLSV_bak_dev1’,
‘D:\...\QLSV_bak_1.bak’
vXóa backup device
sp_dropdevice [ @logicalname = ] 'device'
[ , [ @delfile = ] ‘DELFILE' ]
Ví dụ:
exec sp_dropdevice ‘QLSV_bak_dev1’
Xóa tất cả file vật lý
tương ứng
exec sp_dropdevice ‘QLSV_bak_dev1’, ‘DELFILE’
Chương V : An ninh và An toàn Dữ liệu
18
Tạo backup device
Chương V : An ninh và An toàn Dữ liệu
19
Tạo backup device
Chương V : An ninh và An toàn Dữ liệu
20
Tạo backup device
Chương V : An ninh và An toàn Dữ liệu
21
Tạo backup device
Chương V : An ninh và An toàn Dữ liệu
22
Backup
vThực hiện backup (Full | DifferenHal)
§
Cú pháp:
BACKUP DATABASE database_name
TO backup_device [ ,...n ]
[ WITH
[ DIFFERENTIAL ]
[ [,] PASSWORD = password ]
[ [,] INIT | NOINIT ]
]
Chương V : An ninh và An toàn Dữ liệu
23
Backup
vThực hiện backup
§ Cú pháp:
BACKUP DATABASE database_name
TO backup_device [ ,...n ]
[ WITH
[ DIFFERENTIAL ]
[ [,] PASSWORD = password ]
[ [,] INIT | NOINIT ]
]
Backup_device có thể là tên backup device đã tạo (tên logic)
hoặc tên vật lý ( {disk|tape} = ‘đường_dẫn_vật_lý’)
Có thể sử dụng nhiều backup_device cho một lần backup (tối
đa là 64 backup device)
Chương V : An ninh và An toàn Dữ liệu
24
Backup
vThực hiện backup
Differential: chỉ
backup phần thay đổi
kể từ lần backup đầy
đủ (full) gần nhất.
§ Cú pháp:
BACKUP DATABASE database_name
TO backup_device [ ,...n ]
[ WITH
[ DIFFERENTIAL ]
[ [,] PASSWORD = password ]
[ [,] INIT | NOINIT ]
]
init|noinit : ghi đè lên back_up
device đã được dùng để backup
trước đó (init) hay ghi nối tiếp vào
(mặc định: noinit).
Chương V : An ninh và An toàn Dữ liệu
password: chỉ định
mật khẩu cho tập tin
sao lưu, người dùng
phải cung cấp đúng
mật khẩu này khi muốn
restore
25
Backup
vThực hiện backup
§ Ví dụ:
Ø Backup ra một tập Yn, ghi nối Yếp nội dung các lần backup trước trên tập Yn này nếu có
(dạng Full)
Backup database QLSV
to QLSV_bak_dev
Ø Như ví dụ trên nhưng chỉ định trực Yếp tên tập Yn vật lý:
Backup database QLSV
to disk = ‘D:\...\QLSV_bak.bak’
Chương V : An ninh và An toàn Dữ liệu
26
Backup
vThực hiện backup
§ Ví dụ (tt)
Ø Backup ra nhiều tập Yn, ghi đè lên nội dung backup trước đó trên các tập Yn này nếu có:
Backup database QLSV
to QLSV_bak_dev1, QLSV_bak_dev2
with init
Ø Backup dạng differenYal
Backup database QLSV
to QLSV_bak_dev3
with differential, init
Chương V : An ninh và An toàn Dữ liệu
27
Backup
vThực hiện backup (TransacHo Log)
§
Cú pháp:
BACKUP LOG database_name
TO backup_device [ ,...n ]
[ WITH
[ [,] PASSWORD = password ]
[ [,] INIT | NOINIT ]
]
Chương V : An ninh và An toàn Dữ liệu
28