Đặt mật khẩu khi sao lưu SQL Server

Đặt mật khẩu khi sao lưu SQL Server

Có thể bạn ít để ý, nhưng sự thật các bản sao lưu thường là nguyên nhân lớn nhất gây rò rỉ dữ liệu. Thử nghĩ xem: Máy chủ nằm trong văn phòng công ty nên ở chừng mực nào đó vẫn tương đối an toàn. Còn dữ liệu sao lưu thường nằm trong USB/Tape/External HDD hoặc nằm trong một server khác đặt tại nhà máy cách xa. Mất mát có thể xảy ra khi bạn đi trên đường, khi cất ở nhà, khi mang đi bảo hành, khi nhờ người khác truy cập server cách xa. Hoặc mất mát từ chính nội bộ công ty. Tóm lại, rất nhiều tình huống có thể xảy ra với bản sao lưu khiến công ty bạn rò rỉ những thông tin quan trọng.

May mắn thay, với SQL Server, bạn có thể ngăn chặn nguy cơ rò rỉ này bằng cách đặt mật khẩu cho bản sao lưu. Nhờ đó, nếu bản sao lưu không may rơi vào tay kẻ xấu thì bạn cũng không quá lo lắng. Vì phải có mật khẩu mới có thể phục hồi dữ liệu.

Lưu ý là tính năng đặt mật khẩu cho bản sao lưu SQL Server chỉ được hỗ trợ khi sao lưu bằng dòng lệnh T-SQL. Giao diện GUI SQL Server Management Studio không hỗ trợ tính năng này.

Đặt mật khẩu khi sao lưu

Để đặt mật khẩu khi sao lưu, bạn thêm tùy chọn MEDIAPASSWORD như sau:

BACKUP DATABASE zBackupLabDB
TO DISK = ‘C:\SQLBackup\zBackupLabDB_Full.bak’ WITH MEDIAPASSWORD = ‘zBackupPass’
GO

Phục hồi bản sao lưu

Khi phục hồi từ bản sao lưu này, nếu không cung cấp mật khẩu sẽ xuất hiện lỗi như bên dưới:

RESTORE DATABASE zBackupLabDB
FROM DISK = ‘E:\SQLRestoreData\zBackupLabDB_Full.bak’
GO
Msg 3279, Level 16, State 6, Line 1
Access is denied due to a password failure
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

Nếu phục hồi từ giao diện SQL Server Management Studio, lỗi sẽ như hình bên dưới:

Lỗi phục hồi SQL Server

Lưu ý: Các lệnh RESTORE khác như RESTORE FILELISTONLY, RESTORE VERIFYONLY, RESTORE HEADERONLY,… cũng bị lỗi tương tự nếu bạn không cung cấp mật khẩu.

Để có thể phục hồi, bạn cung cấp mật khẩu kèm theo tùy chọn MEDIAPASSWORD như lệnh sau:

RESTORE DATABASE zBackupLabDB
FROM DISK = ‘E:\SQLRestoreData\zBackupLabDB_Full.bak’ WITH MEDIAPASSWORD = ‘zBackupPass’
GO
Bạn cần hỗ trợ về sao lưu/phục hồi SQL Server?

LIVE CHAT VỚI ZBACKUP ›