Chư ơ ng này sẽ giớ i thiệ u kỹ thuậ t sao lư u (backup) và khôi phụ c (restore) dữ liệ u, là kỹ thuậ t thư ờ ng đư ợ c sử dụ ng bả o đả m an toàn dữ liệ u phòng trư ờ ng hợ p CSDL bị hỏ ng, nhậ t ký dữ liệ u. Chứ c năng này đư ợ c thự c hiệ n bằ ng 2 phư ơ ng pháp: Bằ ng công cụ và câu lệ nh T-SQL.
NHỮ NG LÝ DO PHẢ I SAO LƯ U VÀ KHÔI PHỤ C DỮ LIỆ U.
Trong quá trình thự c hiệ n quả n trị CSDL SQL Server thì mộ t số nguyên nhân sau đây bắ t buộ c bạ n phả i xem xét đế n kỹ thuậ t sao lư u và khôi phụ c dữ liệ u:
+Ổ đĩa bị hỏ ng (chứ a các tậ p tin CSDL).
+ Server bị hỏ ng.
+ Nguyên nhân bên ngoài (thiên nhiên, hỏ a hoạ n, mấ t cắ p,...) + User vô tình xóa dữ liệ u.
+ Bị vô tình hay cố ýlàm thông tin sai lệ ch.
+ Bị hack.
CÁC LOẠ I BACKUP.
Backup dữ liệ u trong SQL Server gồ m các loạ i sau:
+ Full Database Backups: Copy toàn bộ CSDL (các tậ p tin bao gồ m các bả ng, khung nhìn, các đố i tư ợ ng khác).
+ Differential Database Backups: Copy nhữ ng dữ liệ u thay đổ i trong Data file kể từ lầ n full backup gầ n nhấ t.
+ File or file group backups: Copy mộ t file đơ n hay file group.
+ Differential File or File Group Backups: Thự c hiệ n như Differential Database như ng copy phầ n dữ liệ u thay đổ i củ a file đơ n hoặ c file group.
+ Transaction log backups: Ghi nhậ n tấ t cả các transaction chứ a trong transaction log file kể từ lầ n transaction log backup gầ n nhấ t. Vớ i loạ i sao lư u này ta có thể khôi phụ c dữ liệ u tạ i mộ t thờ i điể m.
CÁC MÔ HÌNH PHỤ C HỒ I DỮ LIỆ U.
+ Full Recovery model: Là mô hình phụ c hồ i toàn bộ hoạ t độ ng giao dị ch củ a dữ liệ u (Insert, Update, Delete, hoạ t độ ng bở i lệ nh bcp, bulk insert). Vớ i mô hình này ta có thể phụ c hồ i dữ liệ u tạ i mộ t thờ i điể m trong quá khứ đã đư ợ c lư u trong transaction log file.
+ Bulk-Logged Recovery Model: Mô hình này đư ợ c thự c thi cho các thao tác bcp, bulk insert, create index, writetext, updatetext, các hoạ t độ ng này chỉ nhậ t ký sự kiệ n vào log để biế t mà không sao lư u toàn bộ dữ liệ u, chi tiế t như trong full recover. Các sự kiệ n Insert, Update, Delete vẫ n đư ợ c nhậ t ký và khôi phụ c bình thư ờ ng.
+ Simple Recovery Model: Vớ i mô hình này bạ n chỉ phụ c hồ i lạ i thờ i điể m backup gầ n nhấ t mà không theo thờ i điể m khác trong quá khứ .
Cách đặ t mô hình khôi phụ c:
- Chọ n CSDL.
- Nhấ n nútphả i chuộ t-> Properties -> Options -> Recovery
Xét ví dụ sau: Giả sử ta có mộ t CSDL đư ợ c backup theo chiế n lư ợ c như hình vẽ :
Nhìn hình trên ta thấ y CSDL đư ợ c lậ p lị ch Full Database Backup vào ngày chủ nhậ t, Differential Database Backup vào ngày thứ ba và thứ năm, còn Log Database Backup vào 5 ngày trong tuầ n, ngày thứ sáu có sự cố vớ i CSDL data file bị hỏ ng, vấ n đề đặ t ra là phả i phụ c hồ i dữ liệ u và CSDL hoạ t độ ng bình thư ờ ng. Ta phả i làm các bư ớ c sau:
+ Thự c hiệ n Backup log file (giả sử log file không bị hỏ ng).
+ Khôi phụ c Full Database củ a ngày chủ nhậ t.
+ Phụ c hồ i Differential Database củ a ngày thứ năm.
+ Khôi phụ c Transaction log backup ngày thứ năm.
SAO LƯ U CƠ SỞ DỮ LIỆ U - BACKUP DATABASE.
Trư ớ c khi xem xét kỹ thuậ t sao lư u CSDL, ta thố ng nhấ t mộ t số thuậ t ngữ bằ ng tiế ng Anh như sau:
+ Backup: Là quá trình copy toàn bộ hoặ c mộ t phầ n database, transaction log, file, file group thành lậ p mộ t backup set đư ợ c chứ a trong backup media (disk hoặ c tape) bằ ng cách sử dụ ng mộ t backup device (tape drive name hoặ c physical filename).
+ Backup file: Mộ t file chứ a Backup set.
+ Backup media: LÀ Disk hoặ c tape.
+ Backup set: Mộ t bộ backup mộ t lầ n backup đơ n chứ a trên backup media.
Các bư ớ c thự c hiệ n backup như sau:
- Chọ n CSDL cầ n backup.
- Nhấ n phả i chuộ t -> All Tasks -> Backup Database…
- Nhậ p các tham số , lự a chọ n kiể u.
KHÔI PHỤ C DỮ LIỆ U – RESTORE DATABASE.
Là chứ c năng thự c hiệ n khôi phụ c dữ liệ u đã sao lư u, tùy theo chiế n lư ợ c backup mà bạ n có thể phụ c hồ i đế n thờ i điể m nào, thu đư ợ c bộ dữ liệ u trong quá khứ như thế nào. Khôi phụ c dữ liệ u đư ợ c thự c hiệ n theo thứ tự backup, thông tin này đư ợ c lư u trữ trong msdb
Các bư ớ c thự c hiệ n như sau:
- Chọ n mụ c Databases -> Nhấ n nút phả i chuộ t -> All Tasks -> Restore Database…
- Nhậ p tham số , chọ n mô hình khôi phụ c.