Bài 1: Giới thiệu về Trình quản lý quảng cáo
🎓 BÀI GIẢNG: BACKUP & RESTORE DATABASE TRONG SQL SERVER
1️⃣ GIỚI THIỆU
-
Backup (sao lưu) là lưu dữ liệu ra file dự phòng.
-
Restore (phục hồi) là nạp dữ liệu từ file backup để khôi phục database.
✔️ Dùng để bảo vệ dữ liệu khi:
-
Lỗi phần cứng
-
Xoá nhầm
-
Tấn công virus
2️⃣ SAO LƯU (BACKUP DATABASE)
🔥 A. THỰC HIỆN BẰNG CÂU LỆNH SQL
📝 Full Backup
BACKUP DATABASE WebDaoTao
TO DISK = 'D:\Backup\WebDaoTao_Full.bak'
WITH FORMAT, INIT;
📝 Differential Backup
BACKUP DATABASE WebDaoTao
TO DISK = 'D:\Backup\WebDaoTao_Diff.bak'
WITH DIFFERENTIAL;
📝 Transaction Log Backup
(chỉ thực hiện được khi database ở FULL RECOVERY)
BACKUP LOG WebDaoTao
TO DISK = 'D:\Backup\WebDaoTao_Log.trn';
🔥 B. THỰC HIỆN TRÊN GIAO DIỆN SSMS
✅ Full Backup
-
Click phải vào database → Tasks → Back Up...
-
Chọn:
-
Backup type:
Full -
Destination:
Addfile đích (ví dụD:\Backup\WebDaoTao_Full.bak)
-
-
Nhấn OK.
✅ Differential Backup
-
Tương tự, chỉ đổi Backup type thành
Differential.
✅ Transaction Log Backup
-
Vào Tasks → Back Up..., chọn:
-
Backup type:
Transaction Log. -
Nhấn OK.
-
3️⃣ KHÔI PHỤC (RESTORE DATABASE)
🔥 A. THỰC HIỆN BẰNG CÂU LỆNH SQL
📝 Restore Full Backup
RESTORE DATABASE WebDaoTao
FROM DISK = 'D:\Backup\WebDaoTao_Full.bak'
WITH REPLACE, RECOVERY;
📝 Restore Full + Differential
RESTORE DATABASE WebDaoTao
FROM DISK = 'D:\Backup\WebDaoTao_Full.bak'
WITH NORECOVERY;
RESTORE DATABASE WebDaoTao
FROM DISK = 'D:\Backup\WebDaoTao_Diff.bak'
WITH RECOVERY;
📝 Restore từ Transaction Log
RESTORE DATABASE WebDaoTao
FROM DISK = 'D:\Backup\WebDaoTao_Full.bak'
WITH NORECOVERY;
RESTORE LOG WebDaoTao
FROM DISK = 'D:\Backup\WebDaoTao_Log.trn'
WITH RECOVERY;
🔥 B. THỰC HIỆN TRÊN GIAO DIỆN SSMS
✅ Restore Full
-
Click phải Databases → Restore Database...
-
Chọn Device, nhấn
..., thêm file.bak. -
Ở tab Options:
-
Check
Overwrite the existing database (WITH REPLACE)nếu muốn ghi đè.
-
-
Nhấn OK.
✅ Restore Full + Differential
-
Restore Full như trên nhưng:
-
Ở tab Options, chọn
RESTORE WITH NORECOVERY.
-
-
Sau đó tiếp tục restore Differential:
-
Chọn file
.bakdiff, tab Options chọnWITH RECOVERY.
-
✅ Restore Transaction Log
-
Tương tự, lần lượt restore log với
NORECOVERY, cuối cùng log cuối cùng chọnWITH RECOVERY.
4️⃣ SAO LƯU / KHÔI PHỤC TỪ SCRIPT (GENERATE SCRIPT)
🔥 A. BẰNG GIAO DIỆN SSMS
-
Đây là cách “backup logic”, cho phép sao lưu chỉ 1 phần table, hoặc toàn bộ schema + data thành script
.sql.
✅ Các bước
-
Click phải database → Tasks → Generate Scripts...
-
Chọn
Tables,Views,Stored Procedurestuỳ ý. -
Nhấn Advanced:
-
Types of data to script=Schema and Data(lấy cả cấu trúc & dữ liệu).
-
-
Export ra file
.sql→ Sau này chỉ cầnRunscript để restore.
🔥 B. BẰNG CÂU LỆNH (EXPORT / IMPORT DATA)
-
Nếu cần di chuyển từng phần data, có thể dùng
bcphoặcBULK INSERT(ngoài phạm vi cơ bản).
5️⃣ MỘT SỐ GỢI Ý KHI GẶP LỖI
| Lỗi | Nguyên nhân | Cách xử lý |
|---|---|---|
| Database đang có kết nối | Người khác đang dùng DB | ALTER DATABASE WebDaoTao SET SINGLE_USER WITH ROLLBACK IMMEDIATE |
| Sai phiên bản SQL Server | File .bak từ bản mới hơn |
Dùng đúng version hoặc Generate Script để migrate |
| Disk đầy | Không đủ dung lượng ổ cứng | Dọn ổ hoặc chọn ổ khác |
| Transaction log đầy | Chưa backup log thường xuyên | Thực hiện BACKUP LOG rồi DBCC SHRINKFILE |
6️⃣ CHIẾN LƯỢC BACKUP HIỆU QUẢ
| Hành động | Tần suất |
|---|---|
| Full Backup | Hàng ngày |
| Differential Backup | Vài giờ |
| Transaction Log Backup | 15-30 phút |
| Test Restore định kỳ | Hàng tuần |
| Sao chép file backup ra cloud / ổ ngoài | Hàng ngày |
✅ KẾT LUẬN
-
Backup & Restore là kỹ năng không thể thiếu để bảo vệ hệ thống.
-
Hãy luôn:
-
Lên lịch backup tự động.
-
Lưu trữ backup trên nhiều thiết bị khác nhau.
-
Định kỳ test restore để tránh rủi ro.
-
1. Yêu cầu:
- Hãy tạo 1 database có tên: QuanLyHocVien
2. Thực hành:
2.1- Backup bằng lệnh sql
2.2- Backup bằng tool SQL Managment studio
2.3- Dùng tool SQL Managment studio tạo ra các lệnh backup cả cấu trúc và data
2.4- Restore database lại thành 2 database mới: QuanLyHocVien_Backup1 , QuanLyHocVien_Backup2
3. Nộp bài
- File sql mục 2.4
- Hình ảnh 2 db QuanLyHocVien_Backup1 , QuanLyHocVien_Backup2 trên tool SQL Managment studio