1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu quản trị SQL

10 162 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 1,08 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

· Simple Recovery Model : mode này thì Transaction Log File đỞ ược truncate thường xuyên và không c n backup... backup và th i gian backup thôi.

Trang 1

TR ƯỜ NG Đ I H C L C H NG Ạ Ọ Ạ Ồ KHOA CÔNG NGH THÔNG TIN Ệ

ỆHO

30%

TRONG SQL SERVER 2005

Giáo viên hướng d nẫ : NGUY N ĐÌNH LIÊN Ễ

Sinh viên th c hi nự ệ : Đ NG DUY NH T MASV:409000181 Ặ Ậ

LÊ QUANG TÚ MASV:409000477

Đ ng Nai, ngày ồ 15 tháng 11 năm 2010

Trang 2

L I M Đ U Ờ Ở Ầ

Theo s ch đ o và hự ỉ ạ ướng d n c a th y ẫ ủ ầ Nguy n Đình Liênễ , giáo viên b môn SQL,ộ nhóm chúng em g m có 2 thành viên: Đ ng Duy Nh t-MASSV 409000181 và Lê Quangồ ặ ậ Tú-MASSV 409000477 xin th c hi n đ tài trình bày ự ệ ề BACKUP/ RESTORE.

Qua báo cáo này chúng em mong nh n đậ ược nh ng l i nh n xét, đánh giá và quanữ ờ ậ

tr ng h n h t là ch ra nh ng khuy t đi m thi u sót c n c i thi n đ i v i bài này nóiọ ơ ế ỉ ữ ế ể ế ầ ả ệ ố ớ riêng và trong môn h c SQL cũng nh trong các lĩnh v c khác nói chung đ chúng emọ ư ự ể

v ng vàng h n trong ngành h c và công vi c trong tữ ơ ọ ệ ương lai

Chúng em xin chân thành c m n !ả ơ

Trang 3

L I NH N XÉT C A GIÁO VIÊN: Ờ Ậ Ủ

GI I THI U Ớ Ệ

Trong su t chu kỳ s ng c a m t database (c s d li u), vi c x y ra s c làm h h ngố ố ủ ộ ơ ở ữ ệ ệ ả ự ố ư ỏ

m t mát d li u là chuy n khó tránh kh i ấ ữ ệ ệ ỏ

Các d ng bi n c hay tai h a có th x y ra nh :ạ ế ố ọ ể ả ư

- Ðĩa ch a data file hay Transaction Log File hay system file b m t, b h h ng ứ ị ấ ị ư ỏ

- Nh ng th m h a t nhiên nh bão l t, đ ng đ t, h a ho n ữ ả ọ ự ư ụ ộ ấ ỏ ạ

- Toàn b server b đánh c p ho c phá h yộ ị ắ ặ ủ

- Các thi t b dùng đ backup - restore b đánh c p hay h h ng ế ị ể ị ắ ư ỏ

- Nh ng l i do vô ý c a user nh l tay xóa, thao tác sai làm h c s d li uữ ỗ ủ ư ỡ ư ơ ở ữ ệ

- Nh ng hành vi mang tính phá ho i c a nhân viên nh c ý đ a vào nh ng thông tin sai l c ữ ạ ủ ư ố ư ữ ạ

Trang 4

- B hack (n u server có k t n i v i internet) ị ế ế ố ớ

Vì v y chúng ta ph i luôn có bi n pháp b o v c s d li u m t cách an toàn nh t, bênậ ả ệ ả ệ ơ ở ữ ệ ộ ấ

c nh đó chúng ta cũng ph i t h i khi các v n đ trên x y ra thì ph i làm sao đ khôi ph c l i dạ ả ự ỏ ấ ề ả ả ể ụ ạ ữ

li u đã h , m t và ph c h i m t cách nhanh nh t đ đ a server tr l i ho t đ ng m t cách bìnhệ ư ấ ụ ồ ộ ấ ể ư ở ạ ạ ộ ộ

thường

Đ tránh và ho c ít nh t là h n ch t i đa ể ặ ấ ạ ế ố m t mát d li u do các s c nêu trên, là m tấ ữ ệ ự ố ộ

người qu n ả lý h th ng c s d li u b n c n ph i b o qu n c s d li u c a mình m t cáchệ ố ơ ở ữ ệ ạ ầ ả ả ả ơ ở ữ ệ ủ ộ

h p ợ lý nh t, gi m t i đa s l n ph i ph c h i d li u, luôn theo dõi, ki m tra thấ ả ố ố ầ ả ụ ồ ữ ệ ể ường xuyên đ phátể

hi n các tr c tr c trệ ụ ặ ước khi nó x y ra ả Và đ có th ph c h i d li u khi g p các bi n c trên b nể ể ụ ồ ữ ệ ặ ế ố ạ

ph i bi t cách backup (sao l u) và restore (khôi ph c) d li u và s p x p l ch trình backup d li uả ế ư ụ ữ ệ ắ ế ị ữ ệ

m t cách ộ hợp lý đ b o qu n c s d li u c a mình m t cách an toàn nh t Đ i v i m t th m cể ả ả ơ ở ữ ệ ủ ộ ấ ố ớ ộ ư ụ hay nh ng t p tin bình thữ ậ ường thì vi c sao l u và copy ngệ ư ược tr l i là vô cùng đ n gi n là ch c nở ạ ơ ả ỉ ầ copy vào m t thi t b l u tr khác, đ phòng khi g p s c gây m t mát d li u thì có th copyộ ế ị ư ữ ể ặ ự ố ấ ữ ệ ể

ngược tr l i Còn đ i v i database trong SQL thì vi c backup di n ra có khác h n, khi h th ngở ạ ố ớ ệ ễ ơ ệ ố đang v n hành thì b n không th đ n gi n copy các data file và log file vì chúng b khóa hoàn toàn.ậ ạ ể ơ ả ị

B n ph i d a vào c ch backup c a h QTCSDL Sau đây chúng tôi xin nói s lạ ả ự ơ ế ủ ệ ơ ược v Backề up/Restore trong SQL Server và hướng d n các b n các thao tác trong hai ch c năng này ẫ ạ ứ

a Backup (sao l u) CSDL trong SQL Server: ư

Backup là vi c sao l u d li u t c c d li u SQL Server vào m t thi t b l u tr khác.ệ ư ữ ệ ừ ơ ở ữ ệ ộ ế ị ư ữ Sau đây là các lo i Backup mà chúng tôi mu n chia s v i các b n.ạ ố ẻ ớ ạ

1> Các Lo i Backup và m t s h ạ ộ ố ướ ng d n chung ẫ

· Full backup: Là backup toàn b d li u t i th i đi m th c hi n Đây có l là lo i độ ữ ệ ạ ờ ể ự ệ ẽ ạ ược dùng

thường xuyên nh t.ấ

· Differential backup: Là backup các trang d li u m i đữ ệ ớ ượ ậc c p nh t k t l n backup full trậ ể ừ ầ ướ c đó

· File or File Group Backup: Copy m t data file đ n hay m t file group ộ ơ ộ

· Differential File or File Group Backup: Tương t nh differential database backup nh ng chự ư ư ỉ copy nh ng thay đ i trong data file đ n hay m t file group.ữ ổ ơ ộ

· Transaction log backup: Là backup các log record hi n có trong log file, nghĩa là nó sao l u cácệ ư

hành đ ng ộ (các thao tác x y ra đ i v i database) ch không sao l u d li u Đ ng th i nó cũng c tả ố ớ ứ ư ữ ệ ồ ờ ắ

b (truncate) log file, lo i b các log record v a đỏ ạ ỏ ừ ược backup ra kh i log file Vì th khi th y logỏ ế ấ file tăng quá l n, có nhi u kh năng là b n ch a t ng backup transaction log bao gi ớ ề ả ạ ư ừ ờ

đây chúng ta hãy đ c bi t chú 3 lo i backup là Full backup, Differential backup và Transaction

log backup

M t nguyên t c chung đ gi m b t lộ ắ ể ả ớ ượng d li u m t mát khi có s c là tăng t n su t backup.ữ ệ ấ ự ố ầ ấ Tuy nhiên v i m t database có dung lớ ộ ượng l n và đớ ượ ậc c p nh t liên t c, thì vi c th c hi n fullậ ụ ệ ự ệ backup v i t n su t cao là không kh thi, vì nó dùng r t nhi u CPU và I/O Nh có differentialớ ầ ấ ả ấ ề ờ backup và transaction log backup, b n có th t o l p các phạ ể ạ ậ ương án sao l u thích h p, đ m b o dư ợ ả ả ữ

li u đệ ược backup thường xuyên h n mà không chi m nhi u tài nguyên c a h th ng.ơ ế ề ủ ệ ố

Chú ý: Trong lúc backup SQL Server cũng copy t t c các ho t đ ng c a database k c ho t đ ngấ ả ạ ộ ủ ể ả ạ ộ

x y ra trong quá trình backup cho nên ta có th backup trong khi SQL đang ch y mà không c n ph iả ể ạ ầ ả

ng ng l i.ư ạ

Recovery Models

· Full Recovery Model : Ðây là model cho phép ph c h i d li u v i ít r i ro nh t N u m tụ ồ ữ ệ ớ ủ ấ ế ộ

database trong mode này thì t t c các ho t đ ng không ch insert, update, delete mà k c insertở ấ ả ạ ộ ỉ ể ả

b ng ằ Bulk Insert, hay bcp đ u đề ược log vào transaction log file Khi có s c thì ta có th ph c h iự ố ể ụ ồ

l i d li u ngạ ữ ệ ược tr l i t i m t th i đi m trong quá kh Khi data file b h n u ta có th backupở ạ ớ ộ ờ ể ứ ị ư ế ể

Trang 5

được transaction log file thì ta có th ph c h i database đ n th i đi m transaction g n nh t để ụ ồ ế ờ ể ầ ấ ượ c commited

· Bulk-Logged Recovery Model : mode này các ho t đ ng mang tính hàng lo t nh Bulk Insert,Ở ạ ộ ạ ư bcp, Create Index, WriteText, UpdateText ch đỉ ược log minimum vào transaction log file đ đ choủ ể

bi t là các ho t đ ng này có di n ra mà không log toàn b chi ti t nh trong Full Recovery Mode.ế ạ ộ ễ ộ ế ư Các ho t đ ng khác nh Insert, Update, Delete v n đạ ộ ư ẫ ược log đ y đ đ dùng cho vi c ph c h i sauầ ủ ể ệ ụ ồ này

· Simple Recovery Model : mode này thì Transaction Log File đỞ ược truncate thường xuyên và không c n backup V i mode này b n ch có th ph c h i t i th i đi m backup g n nh t mà khôngầ ớ ạ ỉ ể ụ ồ ớ ờ ể ầ ấ

th ph c h i t i m t th i đi m trong quá kh ể ụ ồ ớ ộ ờ ể ứ

Mu n bi t database c a b n đang mode nào b n có th ố ế ủ ạ ở ạ ể Right-click lên m t database nào ộ

đó trong SQL Server Enterprise Manager ch n ọ Properties->Options->Recovery

Sau đây là m t ví d v l ch backup đ các b n d hi u h n:ộ ụ ề ị ể ạ ễ ể ơ

Ví d : ụ Chúng tôi xây d ng m t th i gian bi u cho vi c backup d li u c a chúng tôi nh sauự ộ ờ ể ệ ữ ệ ủ ư

· Full backup: M i tu n 2 l n vào bu i chi u th 4 và th 4 sau gi làm vi c (17h PM)ỗ ầ ầ ổ ề ứ ứ ờ ệ

· Differential backup: M i tu n 4 l n vào bu i chi u th 2,3,5,6 sau gi làm vi c (5h PM)ỗ ầ ầ ổ ề ứ ờ ệ

· Transaction log backup: M i ngày 1 l n vào bu i tr a (12 AM)ỗ ầ ổ ư

L u ý là differential backup luôn sao l u các trang đã thay đ i k t l n full backup trư ư ổ ể ừ ầ ướ c,

ch không ph i t l n differential backup trứ ả ừ ầ ước đó Ví d b n different backup lúc 5h PM ngày thụ ả ứ

5 s bao g m các thay đ i k t th i gian full backup ngày c a ngày th 4, còn b n different lúc 5hẽ ồ ổ ể ừ ờ ủ ứ ả

PM ngày th 6 thì s bao g m các thay đ i k t th i gian full backup ngày c a ngày th 4 k cứ ẽ ồ ổ ể ừ ờ ủ ứ ể ả

nh ng thay đ i đã đữ ổ ượ ưc l u trong l n different backup c a ngày th 5… Transaction log backup thìầ ủ ứ

ngượ ạc l i, ch sao l u các log record k t l n transaction log backup trỉ ư ể ừ ầ ước đó

Chú ý: L ch backup trên đây ch là m t ví d đ chúng tôi nói rõ h n v tác d ng c a các lo iị ỉ ộ ụ ể ơ ề ụ ủ ạ

Trang 6

backup và th i gian backup thôi Còn s p x p th i gian sao cho h p lý đ không tiêu t n quá nhi uờ ắ ế ờ ợ ể ố ề

th i gian mà l i an toàn cho c s d li u là s linh đ ng và tính toán phù h p t phía các b n.ờ ạ ơ ở ữ ệ ự ộ ợ ừ ạ

2> H ướ ng d n các b ẫ ướ c th c hi n Backup (Sao l u) m t c s d li u trong SQL Server ự ệ ư ộ ơ ở ữ ệ

N u b n ch a m s n giao di n SQL Server Management Studio thì hãy kh i đ ng nó lên theo cácế ạ ư ở ẵ ệ ở ộ

bước sau:

Vào StartV Programs Microsoft SQL Server 2005 và ch n SQL Server Management Studio.ọ

Sau khi ch n các đ i tọ ố ượng phù h p t i các m c Server type, Server name và Authenticationợ ạ ụ

Connect

Trong giao di n SQL Server Management Studio b n ch n m t database mà b n c n backup.ệ ạ ọ ộ ạ ầ

Ví d tôi ch n database ụ ọ “Hoadon” nh dư ưới đây

Trang 7

Trên c a s Backup c s d li u, b n có th đi u ch nh l i c u hình thông tin v sao l uử ổ ơ ở ữ ệ ạ ể ề ỉ ạ ấ ề ư theo ý b n N u b n không quen thu c c u hình này, b n có th đ giá tr m c đ nh ạ ế ạ ộ ấ ạ ể ể ị ặ ị

Đây là m t s mô t ng n đ cho b n d hi u v ý nghĩa c a các m c ch n và t đó b nộ ố ả ắ ể ạ ễ ể ề ủ ụ ọ ừ ạ

có th đi u ch nh theo ý c a mình.ể ề ỉ ủ

- Database: M t c s d li u mà b n mu n sao l u.ộ ơ ở ữ ệ ạ ố ư

Trang 8

- Backup type: B n có th ch n 1 trong 3 l a ch n: ạ ể ọ ự ọ Full ho c ặ Differential ho c ặ Transaction log nh chúng tôi đã gi i thi u v tác d ng c a m i ki u ph n trên ư ớ ệ ề ụ ủ ỗ ể ở ầ (Chú ý: Đây là ph n r t ầ ấ quan tr ng, các b n nên đ c bi t chú ý khi ch n ki ọ ạ ặ ệ ọ eåu Back up)

- Name: Tên c a các sao l u này, b n có th đ t tên b t c đi u gì nh b n mu n.ủ ư ạ ể ặ ấ ứ ề ư ạ ố

- Backup component: Trong m c này b n có th ch n m t trong hai l a ch n sau.ụ ạ ể ọ ộ ự ọ

Database: Backup t t c các file hay nhóm file đã đấ ả ượ ạc t o c a database này Chúng tôiủ khuyên b n nên ch n m c này đ tránh vi c sao chép d li u không đ y đ ạ ọ ụ ể ệ ữ ệ ầ ủ

Files and Filegroups: N u c s d li u c a b n r t l n và khi t o c s d li u b nế ơ ở ữ ệ ủ ạ ấ ớ ạ ơ ở ữ ệ ạ

đã phân b c s d li u c a mình thành các nhóm file l u tr nh ng ổ ơ ở ữ ệ ủ ư ữ ở ữ oå đĩa/v trí khácị nhau trong h đi u hành và nay b n ch mu n ch n m t hay m t s file c n backup chệ ề ạ ỉ ố ọ ộ ộ ố ầ ứ không backup t t c các file thì b n ch n m c này và ch đ nh file c n backup (ví d nhấ ả ạ ọ ụ ỉ ị ầ ụ ư hình dưới)

Trong h p th ai này b n cũng có th ch n ch c năng backup t t c các file.ộ ọ ạ ể ọ ứ ấ ả

- Backup set will expire” Có th để ượ ử ục s d ng khi backup vào băng ho c t o các nhóm backupặ ạ

“Media Sets” Trong ví d này, chúng tôi s backup vào m t đĩa c ng vì v y m c đ nh s làụ ẽ ộ ổ ứ ậ ặ ị ẽ

“sau 0” ngày

- Destination: Đi m đ n các t p tin đó s để ế ậ ẽ ược sao l u vào B n có th đ nh m c đ nh.ư ạ ể ể ư ặ ị

M c đ nh s sao l u vào "C: \ Program Files \ Microsoft SQL Server \ MSSQL.1 \ MSSQL \ặ ị ẽ ư Backup" N u b n ch n l i v trí l u m i, thì ch n ế ạ ọ ạ ị ư ớ ọ Add sau đó s xu t hi n h p th ai m iẽ ấ ệ ộ ọ ớ

nh hình 5 T i File name b n có th t gõ đư ạ ạ ể ự ường d n t i v trí c s d li u c n sao l uẫ ớ ị ơ ở ữ ệ ầ ư

ho c nh n vào d u ba ch m “ặ ấ ấ ấ …” đ ch đ nh v trí cho nó (Trong bài này tôi ch nể ỉ ị ị ọ

G:\SQL\Backup\Hoadon.bak v trí l u là trong th m c Backup là th m c con c a thị ư ở ư ụ ư ụ ủ ư

m c SQL trong đĩa G v i tên file là Hoadon.bak).ụ ổ ớ

N u b n nh n vào d u ba ch m “ế ạ ấ ấ ấ …” đ ch đ nh v trí l u thì s th y xu t hi n h p th aiể ỉ ị ị ư ẽ ấ ấ ệ ộ ọ

nh hình 6 dư ưới đây T i đây b n ch n v trí l u sau đó gõ ạ ạ ọ ị ư tên file.bak (ví d : ụ Hoadon.bak) vào

m c File name.ụ

Trang 9

Đ ki m tra các l a ch n, b n hãy ch n “ể ể ự ọ ạ ọ Options” t menu phía trên bên ph i (hình 7)ừ ả

T p các tùy ch n đ u tiên đậ ọ ầ ược dán nhãn “Overwrite Media”

T p này đậ ượ ử ục s d ng đi n hình khi backup vào băng Còn khi backup vào đĩa c ng, n u b n sể ổ ứ ế ạ ử

d ng tên duy nh t cho backup c a b n trên màn hình trụ ấ ủ ạ ước thì các tùy ch n này có th đọ ể ược b qua.ỏ

N u tên backup không duy nh t, hãy ch n nút “ế ấ ọ Overwrite All existing backup sets” Thao tác này

s t o m t file ch có backup g n nh t trong đó Khi mu n khôi ph c t file này, b n s đẽ ạ ộ ỉ ầ ấ ố ụ ừ ạ ẽ ược nh cắ

nh ch n thi t l p backup nào c trú đ khôi ph c ở ọ ế ậ ư ể ụ

Trong ph n ầ Reliability, ch n “Verify backup when finished” đ b o đ m backup c a b n h p l ể ả ả ủ ạ ợ ệ

Ph n ầ Transaction Log s đẽ ược hi n th màu xám vì Full Backup s t đ ng b b t file b n ghi.ể ị ẽ ự ộ ỏ ớ ả

Kích nút OK đ b t đ u quá trình backup.ể ắ ầ

Khi backup hoàn t t, m t thông báo s xu t hi n và nói r ng quá trình đã hoàn t t Nh v yấ ộ ẽ ấ ệ ằ ấ ư ậ

là công vi c Backup c a b n đã thành công.ệ ủ ạ

Trang 10

T o file Backup cũng có th th c hi n b ng cách vi t câu l nh ạ ể ự ệ ằ ế ệ

Đ th c thi m t backup b ng TSQL, b n hãy m m t Query Window m i (Đ m Query Window,ể ự ộ ằ ạ ở ộ ớ ể ở

t Management Studio, b n kích nút New Query góc trên bên ph i) ừ ạ ở ả

Đ backup d li u b n có th s d ng th t c h th ng nh sau có tên backup ể ữ ệ ạ ể ử ụ ủ ụ ệ ố ư

database nh cú pháp sau: ư

BACKUP DATABASE { database_name | @database_name_var }

TO < backup_device > [ , n ]

[ WITH

[ BLOCKSIZE = { blocksize | @blocksize_variable } ]

[ [ , ] DESCRIPTION = { 'text'| @text_variable } ]

[ [ , ] DIFFERENTIAL ]

[ [ , ] EXPIREDATE = { date | @date_var }

| RETAINDAYS = { days | @days_var } ]

[ [ , ] FORMAT | NOFORMAT ]

[ [ , ] { INIT | NOINIT } ]

[ [ , ] MEDIADESCRIPTION = { 'text'| @text_variable } ]

[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]

[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]

[ [ , ] { NOSKIP | SKIP } ]

[ [ , ] { NOUNLOAD | UNLOAD } ]

[ [ , ] RESTART ]

[ [ , ] STATS [ =percentage ] ]

]

Đ backup d li u vào m t t p tin ch đ nh, b n có th s d ng th t c h th ng cóể ữ ệ ộ ậ ỉ ị ạ ể ử ụ ủ ụ ệ ố tên backup database nh cú pháp sau: ư

BACKUP DATABASE { database_name | @database_name_var }

< file_or_filegroup > [ , n ]

TO < backup_device > [ , n ]

[ WITH

[ BLOCKSIZE = { blocksize | @blocksize_variable } ]

[ [ , ] DESCRIPTION = { 'text'| @text_variable } ]

[ [ , ] EXPIREDATE = { date | @date_var }

| RETAINDAYS = { days | @days_var } ]

[ [ , ] FORMAT | NOFORMAT ]

[ [ , ] { INIT | NOINIT } ]

[ [ , ] MEDIADESCRIPTION = { 'text'| @text_variable } ]

[ [ , ] MEDIANAME = { media_name | @media_name_variable } ]

[ [ , ] NAME = { backup_set_name | @backup_set_name_var } ]

[ [ , ] { NOSKIP | SKIP } ]

[ [ , ] { NOUNLOAD | UNLOAD } ]

[ [ , ] RESTART ]

[ [ , ] STATS [ =percentage ] ]

Đ backup m t t p tin log, b n có th s d ng th t c h th ng có tên backup log nhể ộ ậ ạ ể ử ụ ủ ụ ệ ố ư

cú pháp sau:

BACKUP LOG { database_name | @database_name_var }

{

Ngày đăng: 16/06/2015, 17:18

w