You are on page 1of 12

SAO LU & PHC HI D LIU TRONG SQL SERVER

Phan Hin

SAO LU
Khi nim Sao lu l cng vic sao chp thng tin ca database vo mt thi im nht nh vo ni lu tr khc. Vn

tht s c nhu cu cn sao lu d liu. Chin lc sao lu d liu.

PHN LOI SAO LU


Sao

lu ton phn Ton b database s c ghi li vo thi im sao lu. Sao lu mt phn Ch nhng phn thay i ca database so vi thi im m database sao lu ton phn gn nht. Sao lu bng lu vt ca giao tc (transaction log) Sao lu vt ca cc giao tc ang c thc thi ti thi im sao lu. Sao lu cc bng sao trong d liu phn tn (duplicate data) 3

LNH SAO LU
BACKUP DATABASE tendb TO <thit b lu> [ WITH {DIFFERENTIAL | <tham s>} ]
DIFFERENTIAL : Sao lu mt phn, mc nhin l sao lu ton phn. <thit b lu> := { DISK | TAPE } = tn_thit_b

Mt tp tin sao lu c th lu nhiu bng lu

THAM S SAO LU
DESCRIPTION = ghichu (ghi ch bng lu) NAME = ten (ghi tn bng lu) PASSWORD = matkhau (ghi mt khu bng lu) RETAINDAYS = songay (ghi s ngy ht hn ca bng lu tnh t thi im sao lu) EXPIREDATE = ngay (hn cui ca bng sao lu) STOP_ON_ERROR | CONTINUE_AFTER_ERROR (ngng khi gp li v ngc li) STATS = s (phn trm th hin trong qu trnh sao lu)
5

V D SAO LU
Sao lu ton phn cho database tn l qlbv BACKUP DATABASE qlbv TO DISK = 'E:\qlbv.bak' WITH NAME = 'qlbv backup', STATS = 10 Sao lu mt phn cho database tn l qlbv BACKUP DATABASE qlbv TO DISK = 'E:\qlbv.bak' WITH DIFFERENTIAL, NAME = 'qlbv backup 1 phan', STATS = 10
6

LNH PHC HI
RESTORE DATABASE tendb_moi FROM <thit b lu> [ WITH {<tham s>} ]

<thit b lu> := { DISK | TAPE } = tn_thit_b

Sao lu 1 phn ch c phc hi lin sau qu trnh phc hi ton phn (vi tham s norecovery)
7

THAM S PHC HI
STOP_ON_ERROR|CONTINUE_AFTER_ERROR
(ngng khi gp li v ngc li)

FILE = { tn | s th t }
(Ch bng sao lu c phc hi trong tp tin sao lu)

PASSWORD = matkhau (ghi mt khu bng lu) RECOVERY | NORECOVERY


Recovery (Chm dt qu trnh phc hi) NoRecovery (Cha chm dt, v cho php tip cc lnh phc hi k, v qu trnh s c trng thi Recovery nu mi lnh phc hi hon thnh)
8

V D PHC HI
Phc hi t tp tin qlbv.bak thnh database tn l qlbv. RESTORE DATABASE qlbv FROM DISK = 'E:\qlbv.bak' WITH FILE = 1, NORECOVERY, STATS=10; RESTORE DATABASE qlbv FROM DISK = E:\qlbv.bak' WITH FILE = 2, RECOVERY, STATS=10
9

SAO LU V PHC HI ATTACH V DETACH


D liu c lu tr thnh tp tin c ui l .mdf v cc vt lu qu trnh lm vic, giao tc c lu vi tp tin c ui l .ldf . Mt cch khc sao lu l ta gi li cc tp tin (quan trng l .mdf) c th ly c tp tin .mdf ta phi khng cn lm vic vi database na bng lnh sp_detach_db. c th gn li tp tin .mdf vo SQL Server thnh mt database th ta dng lnh sp_attach_db.
10

LNH
sp_detach_db tn_database
sp_attach_db tn_database , ng_dn_v_tn_tp_tin_mdf, ng_dn_v_tn_tp_tin_ldf

11

V D
sp_attach_db 'qlbv' , 'E:\quanlybenhvien.mdf', 'E:\quanlybenhvien_log.ldf
sp_detach_db 'qlbv'

12

You might also like