Bài viết gần đây
-
Tính Chỉ Báo MACD Bằng Python – MACD Line, Signal, Histogram
Tháng 8 11, 2026 -
Tính Chỉ Báo RSI Bằng Python – Công Thức Wilder, Quá Mua, Quá Bán
Tháng 8 10, 2026
| Backup và Restore trong SQL Server
Được viết bởi Đặng Trí Thanh vào ngày 13/11/2025 lúc 06:11 | 174 lượt xem
Backup và Restore trong SQL Server
Trong bài viết này, chúng ta sẽ tìm hiểu về các phương pháp backup và restore database trong SQL Server.
Các loại Backup
Full Backup
-- Tạo Full Backup
BACKUP DATABASE TenDatabase
TO DISK = 'C:BackupTenDatabase_Full.bak'
WITH INIT, NAME = 'TenDatabase-Full Database Backup';
Differential Backup
-- Tạo Differential Backup
BACKUP DATABASE TenDatabase
TO DISK = 'C:BackupTenDatabase_Diff.bak'
WITH DIFFERENTIAL, INIT,
NAME = 'TenDatabase-Differential Database Backup';
Transaction Log Backup
-- Tạo Transaction Log Backup
BACKUP LOG TenDatabase
TO DISK = 'C:BackupTenDatabase_Log.trn'
WITH INIT, NAME = 'TenDatabase-Transaction Log Backup';
Restore Database
Restore Full Backup
-- Restore Full Backup
RESTORE DATABASE TenDatabase
FROM DISK = 'C:BackupTenDatabase_Full.bak'
WITH REPLACE, RECOVERY;
Restore với Differential
-- Restore Full Backup
RESTORE DATABASE TenDatabase
FROM DISK = 'C:BackupTenDatabase_Full.bak'
WITH NORECOVERY;
-- Restore Differential Backup
RESTORE DATABASE TenDatabase
FROM DISK = 'C:BackupTenDatabase_Diff.bak'
WITH RECOVERY;
Restore Transaction Log
-- Restore Full Backup
RESTORE DATABASE TenDatabase
FROM DISK = 'C:BackupTenDatabase_Full.bak'
WITH NORECOVERY;
-- Restore Differential Backup
RESTORE DATABASE TenDatabase
FROM DISK = 'C:BackupTenDatabase_Diff.bak'
WITH NORECOVERY;
-- Restore Transaction Log
RESTORE LOG TenDatabase
FROM DISK = 'C:BackupTenDatabase_Log.trn'
WITH RECOVERY;
Backup Strategy
Full Backup Strategy
-- Tạo Full Backup hàng ngày
BACKUP DATABASE TenDatabase
TO DISK = 'C:BackupTenDatabase_Full_' +
CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak'
WITH INIT, NAME = 'TenDatabase-Full Database Backup';
Differential Backup Strategy
-- Tạo Differential Backup hàng ngày
BACKUP DATABASE TenDatabase
TO DISK = 'C:BackupTenDatabase_Diff_' +
CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak'
WITH DIFFERENTIAL, INIT,
NAME = 'TenDatabase-Differential Database Backup';
Transaction Log Backup Strategy
-- Tạo Transaction Log Backup mỗi giờ
BACKUP LOG TenDatabase
TO DISK = 'C:BackupTenDatabase_Log_' +
CONVERT(VARCHAR(8), GETDATE(), 112) + '_' +
CONVERT(VARCHAR(2), DATEPART(HOUR, GETDATE())) + '.trn'
WITH INIT, NAME = 'TenDatabase-Transaction Log Backup';
Maintenance Plan
Tạo Maintenance Plan
- Mở SQL Server Management Studio
- Mở Maintenance Plans
- Tạo New Maintenance Plan
- Thêm các task:
- Check Database Integrity
- Shrink Database
- Reorganize Index
- Rebuild Index
- Update Statistics
- Clean Up History
- Backup Database
Best Practices
- Lên lịch backup tự động
- Lưu trữ backup ở nhiều vị trí
- Kiểm tra tính toàn vẹn của backup
- Theo dõi dung lượng backup
- Tài liệu hóa quy trình restore
Monitoring và Maintenance
Kiểm tra Backup History
SELECT
database_name,
backup_start_date,
backup_finish_date,
backup_size,
backup_type
FROM msdb.dbo.backupset
ORDER BY backup_start_date DESC;
Kiểm tra Backup Files
RESTORE FILELISTONLY
FROM DISK = 'C:BackupTenDatabase_Full.bak';
Kiểm tra Backup Header
RESTORE HEADERONLY
FROM DISK = 'C:BackupTenDatabase_Full.bak';
Kết luận
Backup và Restore là những chức năng quan trọng trong việc bảo vệ dữ liệu. Một chiến lược backup tốt sẽ giúp đảm bảo tính liên tục của hệ thống và khả năng phục hồi dữ liệu khi cần thiết. Trong bài viết tiếp theo, chúng ta sẽ tìm hiểu về Bảo mật trong SQL Server.
Weekly Digest — Nhận Bản Tin Hàng Tuần
Nhận các bài viết phân tích kỹ thuật chuyên sâu, thuật toán giao dịch tự động (Trading Bot) và các giải pháp công nghệ mới nhất từ Hướng Nghiệp Dữ Liệu.
Đặng Trí Thanh
Giám đốc Công nghệ · DNT Digital · Giảng viên HNDLĐặng Trí Thanh — Founder & CTO · Hướng Nghiệp Dữ Liệu - DNT Digital. Chuyên đào tạo và triển khai thực chiến Python, MT5 và hệ thống bot auto trading / IB cho học viên và doanh nghiệp.