Quay lại danh sách bài viết

Backup và Restore trong SQL Server

30 tháng 11, 2025
admin
Backup và Restore trong SQL Server
# 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 ```sql -- Tạo Full Backup BACKUP DATABASE TenDatabase TO DISK = 'C:\Backup\TenDatabase_Full.bak' WITH INIT, NAME = 'TenDatabase-Full Database Backup'; ``` ### Differential Backup ```sql -- Tạo Differential Backup BACKUP DATABASE TenDatabase TO DISK = 'C:\Backup\TenDatabase_Diff.bak' WITH DIFFERENTIAL, INIT, NAME = 'TenDatabase-Differential Database Backup'; ``` ### Transaction Log Backup ```sql -- Tạo Transaction Log Backup BACKUP LOG TenDatabase TO DISK = 'C:\Backup\TenDatabase_Log.trn' WITH INIT, NAME = 'TenDatabase-Transaction Log Backup'; ``` ## Restore Database ### Restore Full Backup ```sql -- Restore Full Backup RESTORE DATABASE TenDatabase FROM DISK = 'C:\Backup\TenDatabase_Full.bak' WITH REPLACE, RECOVERY; ``` ### Restore với Differential ```sql -- Restore Full Backup RESTORE DATABASE TenDatabase FROM DISK = 'C:\Backup\TenDatabase_Full.bak' WITH NORECOVERY; -- Restore Differential Backup RESTORE DATABASE TenDatabase FROM DISK = 'C:\Backup\TenDatabase_Diff.bak' WITH RECOVERY; ``` ### Restore Transaction Log ```sql -- Restore Full Backup RESTORE DATABASE TenDatabase FROM DISK = 'C:\Backup\TenDatabase_Full.bak' WITH NORECOVERY; -- Restore Differential Backup RESTORE DATABASE TenDatabase FROM DISK = 'C:\Backup\TenDatabase_Diff.bak' WITH NORECOVERY; -- Restore Transaction Log RESTORE LOG TenDatabase FROM DISK = 'C:\Backup\TenDatabase_Log.trn' WITH RECOVERY; ``` ## Backup Strategy ### Full Backup Strategy ```sql -- Tạo Full Backup hàng ngày BACKUP DATABASE TenDatabase TO DISK = 'C:\Backup\TenDatabase_Full_' + CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak' WITH INIT, NAME = 'TenDatabase-Full Database Backup'; ``` ### Differential Backup Strategy ```sql -- Tạo Differential Backup hàng ngày BACKUP DATABASE TenDatabase TO DISK = 'C:\Backup\TenDatabase_Diff_' + CONVERT(VARCHAR(8), GETDATE(), 112) + '.bak' WITH DIFFERENTIAL, INIT, NAME = 'TenDatabase-Differential Database Backup'; ``` ### Transaction Log Backup Strategy ```sql -- Tạo Transaction Log Backup mỗi giờ BACKUP LOG TenDatabase TO DISK = 'C:\Backup\TenDatabase_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 1. Mở SQL Server Management Studio 2. Mở Maintenance Plans 3. Tạo New Maintenance Plan 4. Thêm các task: - Check Database Integrity - Shrink Database - Reorganize Index - Rebuild Index - Update Statistics - Clean Up History - Backup Database ## Best Practices 1. Lên lịch backup tự động 2. Lưu trữ backup ở nhiều vị trí 3. Kiểm tra tính toàn vẹn của backup 4. Theo dõi dung lượng backup 5. Tài liệu hóa quy trình restore ## Monitoring và Maintenance ### Kiểm tra Backup History ```sql 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 ```sql RESTORE FILELISTONLY FROM DISK = 'C:\Backup\TenDatabase_Full.bak'; ``` ### Kiểm tra Backup Header ```sql RESTORE HEADERONLY FROM DISK = 'C:\Backup\TenDatabase_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.
sql-server
backup
restore
Chia sẻ:

Bài viết liên quan

Truy Vấn SQL Nâng Cao trong SQL Server

Truy Vấn SQL Nâng Cao trong SQL Server Trong bài viết này, chúng ta sẽ tìm hiểu về các kỹ thuật truy vấn SQL nâng cao trong SQL Server, bao gồm JOI...

Stored Procedures và Functions trong SQL Server

Stored Procedures và Functions trong SQL Server Trong bài viết này, chúng ta sẽ tìm hiểu về Stored Procedures và Functions trong SQL Server, hai cô...

Index và Tối Ưu Hiệu Suất trong SQL Server

Index và Tối Ưu Hiệu Suất trong SQL Server Trong bài viết này, chúng ta sẽ tìm hiểu về Index và các kỹ thuật tối ưu hiệu suất trong SQL Server. ...